40 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Reusable animations
 | ||
|  | 
 | ||
|  | #### Prerequisites
 | ||
|  | 
 | ||
|  | A basic understanding of the  following concepts: | ||
|  | 
 | ||
|  | * [Introduction to Angular animations](guide/animations) | ||
|  | * [Transition and triggers](guide/transition-and-triggers) | ||
|  | 
 | ||
|  | <hr> | ||
|  | 
 | ||
|  | The [AnimationOptions](https://angular.io/api/animations/AnimationOptions) interface in Angular animations enables you to create animations that you can reuse across different components. | ||
|  | 
 | ||
|  | ## Creating reusable animations
 | ||
|  | 
 | ||
|  | To create a reusable animation, use the [`animation()`](https://angular.io/api/animations/animation) method to define an animation in a separate `.ts` file and declare this animation definition as a `const` export variable. You can then import and reuse this animation in any of your app components using the [`useAnimation()`](https://angular.io/api/animations/useAnimation) API. | ||
|  | 
 | ||
|  | <code-example path="animations/src/app/animations.ts" title="src/app/animations.ts" region="reusable" language="typescript" linenums="false"> | ||
|  | </code-example> | ||
|  | 
 | ||
|  | In the above code snippet, `transAnimation` is made reusable by declaring it as an export variable. | ||
|  | 
 | ||
|  | <div class="alert is-helpful"> | ||
|  | 
 | ||
|  | **Note:** The `height`, `opacity`, `backgroundColor`, and `time` inputs are replaced during runtime. | ||
|  | </div> | ||
|  | 
 | ||
|  | You can import the reusable `transAnimation` variable in your component class and reuse it using the `useAnimation()` method as shown below. | ||
|  | 
 | ||
|  | <code-example path="animations/src/app/open-close.component.3.ts" title="src/app/open-close.component.ts" region="reusable" language="typescript" linenums="false"> | ||
|  | </code-example> | ||
|  | 
 | ||
|  | ## More on Angular animations
 | ||
|  | 
 | ||
|  | You may also be interested in the following: | ||
|  | 
 | ||
|  | * [Introduction to Angular animations](guide/animations) | ||
|  | * [Transition and triggers](guide/transition-and-triggers) | ||
|  | * [Complex animation Sequences](guide/complex-animation-sequences) | ||
|  | * [Route transition animations](guide/route-animations) |