{"id":71814,"date":"2020-01-10T17:00:20","date_gmt":"2020-01-10T11:30:20","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=71814"},"modified":"2024-04-12T14:22:44","modified_gmt":"2024-04-12T08:52:44","slug":"simple-animations","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/","title":{"rendered":"Simple Animations"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/angular-7-developer-tutorials\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to Tutorial<\/a><\/p>\n\n\n<p>You can build a simple animation that transitions an element between two states driven by a model attribute. Animations can be defined inside @Component metadata.<\/p>\n<p><u>hero-list-basic.component.ts<\/u><\/p>\n<p>import {<\/p>\n<p>Component,<\/p>\n<p>Input<\/p>\n<p>} from &#8216;@angular\/core&#8217;;<\/p>\n<p>import {<\/p>\n<p>trigger,<\/p>\n<p>state,<\/p>\n<p>style,<\/p>\n<p>animate,<\/p>\n<p>transition<\/p>\n<p>} from &#8216;@angular\/animations&#8217;;<\/p>\n<p>With these, you can define an animation trigger called heroState in the component metadata. It uses animations to transition between two states: active and inactive. When a hero is active, the element appears in a slightly larger size and lighter color.<\/p>\n<p><u>hero-list-basic.component.ts (@Component excerpt)<\/u><\/p>\n<p>animations: [<\/p>\n<p>trigger(&#8216;heroState&#8217;, [<\/p>\n<p>state(&#8216;inactive&#8217;, style({<\/p>\n<p>backgroundColor: &#8216;#eee&#8217;,<\/p>\n<p>transform: &#8216;scale(1)&#8217;<\/p>\n<p>})),<\/p>\n<p>state(&#8216;active&#8217;,&nbsp;&nbsp; style({<\/p>\n<p>backgroundColor: &#8216;#cfd8dc&#8217;,<\/p>\n<p>transform: &#8216;scale(1.1)&#8217;<\/p>\n<p>})),<\/p>\n<p>transition(&#8216;inactive =&gt; active&#8217;, animate(&#8216;100ms ease-in&#8217;)),<\/p>\n<p>transition(&#8216;active =&gt; inactive&#8217;, animate(&#8216;100ms ease-out&#8217;))<\/p>\n<p>])<\/p>\n<p>]\n<p>&nbsp;<\/p>\n<p>In this example, you are defining animation styles (color and transform) inline in the animation metadata. Now, using the [@triggerName] syntax, attach the animation that you just defined to one or more elements in the component&#8217;s template.<\/p>\n<p><u>hero-list-basic.component.ts (excerpt)<\/u><\/p>\n<p>template: `<\/p>\n<p>&lt;ul&gt;<\/p>\n<p>&lt;li *ngFor=&#8221;let hero of heroes&#8221;<\/p>\n[@heroState]=&#8221;hero.state&#8221;<\/p>\n<p>(click)=&#8221;hero.toggleState()&#8221;&gt;<\/p>\n<p>{{hero.name}}<\/p>\n<p>&lt;\/li&gt;<\/p>\n<p>&lt;\/ul&gt;<\/p>\n<p>`,<\/p>\n<p>&nbsp;<\/p>\n<p>Here, the animation trigger applies to every element repeated by an ngFor. Each of the repeated elements animates independently. The value of the attribute is bound to the expression hero.state and is always either active or inactive.<\/p>\n<p>With this setup, an animated transition appears whenever a hero object changes state. Here&#8217;s the full component implementation:<\/p>\n<p><u>hero-list-basic.component.ts<\/u><\/p>\n<p>import {<\/p>\n<p>Component,<\/p>\n<p>Input<\/p>\n<p>} from &#8216;@angular\/core&#8217;;<\/p>\n<p>import {<\/p>\n<p>trigger,<\/p>\n<p>state,<\/p>\n<p>style,<\/p>\n<p>animate,<\/p>\n<p>transition<\/p>\n<p>} from &#8216;@angular\/animations&#8217;;<\/p>\n<p>import { Hero } from &#8216;.\/hero.service&#8217;;<\/p>\n<p>@Component({<\/p>\n<p>selector: &#8216;hero-list-basic&#8217;,<\/p>\n<p>template: `<\/p>\n<p>&lt;ul&gt;<\/p>\n<p>&lt;li *ngFor=&#8221;let hero of heroes&#8221;<\/p>\n[@heroState]=&#8221;hero.state&#8221;<\/p>\n<p>(click)=&#8221;hero.toggleState()&#8221;&gt;<\/p>\n<p>{{hero.name}}<\/p>\n<p>&lt;\/li&gt;<\/p>\n<p>&lt;\/ul&gt;<\/p>\n<p>`,<\/p>\n<p>styleUrls: [&#8216;.\/hero-list.component.css&#8217;],<\/p>\n<p>animations: [<\/p>\n<p>trigger(&#8216;heroState&#8217;, [<\/p>\n<p>state(&#8216;inactive&#8217;, style({<\/p>\n<p>backgroundColor: &#8216;#eee&#8217;,<\/p>\n<p>transform: &#8216;scale(1)&#8217;<\/p>\n<p>})),<\/p>\n<p>state(&#8216;active&#8217;,&nbsp;&nbsp; style({<\/p>\n<p>backgroundColor: &#8216;#cfd8dc&#8217;,<\/p>\n<p>transform: &#8216;scale(1.1)&#8217;<\/p>\n<p>})),<\/p>\n<p>transition(&#8216;inactive =&gt; active&#8217;, animate(&#8216;100ms ease-in&#8217;)),<\/p>\n<p>transition(&#8216;active =&gt; inactive&#8217;, animate(&#8216;100ms ease-out&#8217;))<\/p>\n<p>])<\/p>\n<p>]\n<p>})<\/p>\n<p>export class HeroListBasicComponent {<\/p>\n<p>@Input() heroes: Hero[];<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n\n\n<p><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/angular-7-developer-tutorials\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to Tutorial<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go back to Tutorial You can build a simple animation that transitions an element between two states driven by a model attribute. Animations can be defined inside @Component metadata. hero-list-basic.component.ts import { Component, Input } from &#8216;@angular\/core&#8217;; import { trigger, state, style, animate, transition } from &#8216;@angular\/animations&#8217;; With these, you can define an animation trigger&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[8294],"tags":[8371],"class_list":["post-71814","page","type-page","status-publish","hentry","category-angular-7","tag-simple-animations"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Simple Animations - Tutorial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simple Animations - Tutorial\" \/>\n<meta property=\"og:description\" content=\"Go back to Tutorial You can build a simple animation that transitions an element between two states driven by a model attribute. Animations can be defined inside @Component metadata. hero-list-basic.component.ts import { Component, Input } from &#8216;@angular\/core&#8217;; import { trigger, state, style, animate, transition } from &#8216;@angular\/animations&#8217;; With these, you can define an animation trigger...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T08:52:44+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/\",\"name\":\"Simple Animations - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2020-01-10T11:30:20+00:00\",\"dateModified\":\"2024-04-12T08:52:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple Animations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simple Animations - Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/","og_locale":"en_US","og_type":"article","og_title":"Simple Animations - Tutorial","og_description":"Go back to Tutorial You can build a simple animation that transitions an element between two states driven by a model attribute. Animations can be defined inside @Component metadata. hero-list-basic.component.ts import { Component, Input } from &#8216;@angular\/core&#8217;; import { trigger, state, style, animate, transition } from &#8216;@angular\/animations&#8217;; With these, you can define an animation trigger...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:52:44+00:00","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/","name":"Simple Animations - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2020-01-10T11:30:20+00:00","dateModified":"2024-04-12T08:52:44+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/simple-animations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Simple Animations"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/71814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=71814"}],"version-history":[{"count":4,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/71814\/revisions"}],"predecessor-version":[{"id":87899,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/71814\/revisions\/87899"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=71814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=71814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=71814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}