

{"id":51434,"date":"2019-03-11T09:20:40","date_gmt":"2019-03-11T03:50:40","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=51434"},"modified":"2020-01-31T10:50:33","modified_gmt":"2020-01-31T05:20:33","slug":"angularjs-animation","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/","title":{"rendered":"AngularJS Animation with Example | How to Add ng-Animate?"},"content":{"rendered":"<p>After the <a href=\"https:\/\/data-flair.training\/blogs\/angularjs-scope-tutorial\/\"><strong>AngularJS Scope<\/strong><\/a>, we are going to learn different ways to add and create the Animations in AngularJS with the example. Along with this, we will see how to enable or disable animation and a list of directives for animation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-51552\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg\" alt=\"How to add and create Animation in AngularJS\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<h2>AngularJS Animation<\/h2>\n<p><em>Whenever the transformation of HTML elements happens, it gives the feel of the illusion of motion, this phenomenon is known as animation. AngularJS comes with the feature of animated transitions too. With the help of CSS, AngularJS can provide animation<\/em>.<\/p>\n<p>The very first step for AngularJS animation is to include an animation library.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/angularjs\/1.6.9\/angular-animate.js\"&gt;&lt;\/script&gt;<\/pre>\n<p>Then, refer<strong> ng-animate module<\/strong> in an application.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/angularjs-modules\/\">Do you know How to Create Modules in AngularJS?<\/a><\/strong><\/p>\n<h2>Ways to Add ng-Animate<\/h2>\n<p>Ng-Animate is a module, which is used to add a class or remove a class. It is required to show the animation in your application. If you do not include an ng-animate module in your angular JS application, the animation will not be visible.<\/p>\n<p><strong>There are two ways to add ng-animate in our application<\/strong><\/p>\n<ul>\n<li>Include it in the root element where you are <em>using the ng-app directive<\/em>.<\/li>\n<\/ul>\n<p><strong>Syntax:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;body ng-app=\"ngAnimate\"&gt;<\/pre>\n<ul>\n<li><em>Add ng-animate as a dependency\u00a0<\/em><\/li>\n<\/ul>\n<p><strong>Syntax:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;script&gt;\r\nvar demo = angular.module('demoApp', ['ngAnimate']);\r\n&lt;\/script&gt;<\/pre>\n<p>Where demoApp is the name given corresponding to ng-app (ng-app= \u201cdemoApp\u201d) directive in the root element.<\/p>\n<p><strong>Work Of ng-Animate:<\/strong> Actually ng-Animate do not transform the HTML element, but when you are using ng-animate in your angularJS application, It notices some events HTML elements like a show or hide. To make animations, elements have some pre-defined classes.<\/p>\n<h2>Example of AngularJS Animation<\/h2>\n<p>The below code will hide the div if the checkbox is checked otherwise it will show the div.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;style&gt;\r\ndiv {\r\n  transition: all linear 0.5s;\r\n  border: 2px solid black;\r\n  height: 50px;\r\n  width: 50%;\r\n  position: relative;\r\n  top: 0;\r\n  left: 0;\r\n}\r\n\r\n.ng-hide {\r\n  height: 0;\r\n  width: 0;\r\n  top:-200px;\r\n  left: 200px;\r\n}\r\n\r\n&lt;\/style&gt;\r\n&lt;script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/angularjs\/1.6.9\/angular.min.js\"&gt;&lt;\/script&gt;\r\n&lt;script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/angularjs\/1.6.9\/angular-animate.js\"&gt;&lt;\/script&gt;\r\n\r\n&lt;body ng-app=\"ngAnimate\"&gt;\r\n\r\n&lt;h1&gt;Want to hide the DIV: &lt;input type=\"checkbox\" ng-model=\"ValueOfCheck\"&gt;&lt;\/h1&gt;\r\n\r\n&lt;div ng-hide=\"ValueOfCheck\"&gt; Div Can Get Hidden&lt;\/div&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<p>Want to hide the div<\/p>\n<p>\u200b<span class=\"df-rect\">Div Can Get Hidden<\/span><\/p>\n<p>When the checkbox gets checked Div gets hidden.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/angularjs-event\/\">Let&#8217;s revise the AngularJS Event with a list of HTML event directives<\/a><\/strong><\/p>\n<h2>List of Directives For Animation in AngularJS<\/h2>\n<ol>\n<li><strong>ng-show &#8211;<\/strong> It adds or removes an ng-show value from the DOM element.<\/li>\n<li><strong>ng-hide &#8211;<\/strong> It adds or removes an ng-hide value from the DOM element.<\/li>\n<li><strong>ng-class &#8211;<\/strong> It adds or removes an ng-class value from the DOM element.<\/li>\n<li><strong>ng-view &#8211;<\/strong> When it enters the DOM, it adds ng-enter class and when it leaves the DOM, it adds an ng-leave class.<\/li>\n<li><strong>ng-include &#8211;<\/strong> When it enters the DOM, it adds ng-enter class and when it leaves the DOM, it adds the ng-leave class.<\/li>\n<li><strong>ng-repeat &#8211;<\/strong> When it enters the DOM, it adds ng-enter class and when it leaves the DOM, it adds an ng-leave class. Also, It adds ng-move to DOM elements too.<\/li>\n<li><strong>ng-switch &#8211;<\/strong> When it enters the DOM, it adds ng-enter class and when it leaves the DOM, it adds the ng-leave class.<\/li>\n<li><strong>ng-if &#8211;<\/strong> When it enters the DOM, it adds ng-enter class and when it leaves the DOM, it adds the ng-leave class.<\/li>\n<\/ol>\n<h2>AngularJS Animation in Custom Directive<\/h2>\n<p>We can include AngularJS animation within custom directives too by using dependency. Inject $animate in the directive created by you directly and make a call to it whenever required.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">appModule.directive('custom-directive', ['$animate', function($animate) {\r\n  return function(scope, element) {\r\n    element.on('click', function() {\r\n      if (element.hasClass('clicked')) {\r\n         $animate.removeClass(element, 'clicked');\r\n      } else {\r\n        $animate.addClass(element, 'clicked');\r\n       }\r\n      });\r\n    };\r\n }]);\r\n\r\n<\/pre>\n<h2>AngularJS Animation on Bootstrap<\/h2>\n<p>Whenever angularJS application gets bootstrap, all the animation features of that application get disable by default. Ng- animate module waits till the time downloading of a template is done that starts downloading once the bootstrap process gets finished. Then, it waits for the $digest that is executing at that time and for one more. This ensures that the whole application is completed, once the animation starts executing.<\/p>\n<p>But if you want to continue animation in an application, even if it bootstraps So we can do so by providing animation globally. It means in the run function of the main module.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">appModule.run(function($animate) {\r\n  $animate.enabled(true);\r\n});<\/pre>\n<h2>How to Enable Or Disable Animation in AngularJS?<\/h2>\n<p>We can even enable an animation or disable animation for specific elements or globally too.<\/p>\n<p><strong>Recommended Reading &#8211;<a href=\"https:\/\/data-flair.training\/blogs\/dom-in-angularjs\/\"> AngularJS DOM with major Directives for HTML DOM\u00a0<\/a><\/strong><\/p>\n<p>There are four ways to do so:<\/p>\n<h4>1. $animateProvider.customFilter()<\/h4>\n<p>It is called during the config phase and takes filter as the argument. It will filter animation based on the returned boolean value. If the value it returns is true, an animation will get perform otherwise animation will not get performed.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">demoapp.config(function($animateProvider) {\r\n $animateProvider.customFilter(function(node, event, options) {\r\n    return event === 'enter' || event === 'leave';\r\n  });\r\n});<\/pre>\n<h4>2. $animateProvider.classNameFilter()<\/h4>\n<p>It is called during the config phase. It takes regex as the argument. This argument is matched with the class that will animate. The advantage of this strategy compares to others is that it gives speed a boost<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">app.config(function($animateProvider) {\r\n  $animateProvider.classNameFilter(\/animate-\/);\r\n });<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">.animate-fade-add.animate-fade-add-active {\r\n  transition: all 1s linear;\r\n  opacity: 0;\r\n }<\/pre>\n<h4>3. $animate.enabled()<\/h4>\n<p>$animate.enabled(false) consist of the single boolean argument, it disables the animation globally.<\/p>\n<p>$animate.enabled(myelement, false) consist of two argument. The first argument is the DOM element and the second argument is a Boolean value. It disables or enables animation on that particular element<\/p>\n<h4>4. OverWriting Styles<\/h4>\n<p>Whenever an AngularJS animation is initiated, animate applied ng-animate class on the elements for the time for which animation is about to take place. On that class to skip animation we can apply css transition styling.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">.my-class {\r\ntransition: transform 4s;\r\n}\r\n\r\n.my-class:hover {\r\ntransform: translateY(30px);\r\n}\r\n\r\nmy-class.ng-animate {\r\ntransition: 0s;\r\n}<\/pre>\n<p>Since transition: 0s is applied it will skip all the existing transition and that will not get animated again.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/ng-include-in-angularjs\/\">Explore the best way to include an HTML code in a file<\/a><\/strong><\/p>\n<h2>Flicker<\/h2>\n<p>When nested elements are used with the structural animation like an ng-if inside class \u2013 based animation elements like ng-class, it may be possible that prior to the start of actual animation, a flash of content will occur. an animated element is displayed briefly whenever such a brief flicker occurs.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;div ng-class=\"{grey: demoOne}\"&gt;\r\n  &lt;div ng-class=\"{black: demoOne}\"&gt;\r\n    &lt;div class=\"anime\" ng-if=\"demoOne\"&gt;&lt;\/div&gt;\r\n   &lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>In the above code there is a chance of flickering as ng-if animation is used inside the element with n-class animation. But we can avoid it by applying styles. Styles are applied on class ng-[event]-prepare. It is added prior to the initialization of animation but once the actual animation starts executing, it gets removed.<br \/>\nThis class is added only for animation that are structural like enter, leave and move.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">.anime.ng-enter-prepare {\r\n  opacity: 0;\r\n}<\/pre>\n<p>Still if flickering occurs then add some CSS styles to avoid it after it<\/p>\n<h3>$animate.pin<\/h3>\n<p>Whenever an animation starts executing ng-animate examines the animated element. Whether the animated element is inside the hierarchy of DOM elements or not. If it is outside the Dom tree, that animation will not work. Since mostly application uses root elements such as body or HTML, therefore there is less chance of occurrence of such issues.<\/p>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/angularjs-dependency-injection\/\">Have a look &#8211; AngularJS Dependency Injection Components and Annotations\u00a0<\/a><\/strong><\/p>\n<p>But if occurs, it can be resolved by using $animate.pin(element,parentHost) to associate different elements of an application. It is invoked by calling it before the animation starts. It consists of two parameters one is the element which will animate and the second parameter is the element which is supposed to be as a parent.<\/p>\n<h2>Summary<\/h2>\n<p><strong>AngularJS <a href=\"https:\/\/docs.angularjs.org\/guide\/animations\">Animation<\/a><\/strong> is a form of transformation that causes an illusion of motion. There are a number of animation available some of them are hidden, show etc. Animation makes an application easy to understand as we can actually display what is happening when you are using certain directive. So, this was all in AngularJS Animation. Still, if you have any doubt, ask freely through comments.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1621,&quot;href&quot;:&quot;https:\\\/\\\/docs.angularjs.org\\\/guide\\\/animations&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250428112132\\\/https:\\\/\\\/docs.angularjs.org\\\/guide\\\/animations&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 14:07:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-03 07:20:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-20 10:21:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-01 07:03:56&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-01 07:03:56&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After the AngularJS Scope, we are going to learn different ways to add and create the Animations in AngularJS with the example. Along with this, we will see how to enable or disable animation&#46;&#46;&#46;<\/p>\n","protected":false},"author":5,"featured_media":51552,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18153],"tags":[19214,19185,19189,19188,19192],"class_list":["post-51434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angularjs","tag-angularjs-animation","tag-animation-in-angularjs","tag-animation-on-bootstrap","tag-flicker","tag-ng-animate"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AngularJS Animation with Example | How to Add ng-Animate? - DataFlair<\/title>\n<meta name=\"description\" content=\"How to create or add AngularJS Animation with example &amp; ng-animate, list of directives for animation &amp; custom directives, enable or disable animation\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/angularjs-animation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AngularJS Animation with Example | How to Add ng-Animate? - DataFlair\" \/>\n<meta property=\"og:description\" content=\"How to create or add AngularJS Animation with example &amp; ng-animate, list of directives for animation &amp; custom directives, enable or disable animation\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/angularjs-animation\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-11T03:50:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-31T05:20:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AngularJS Animation with Example | How to Add ng-Animate? - DataFlair","description":"How to create or add AngularJS Animation with example & ng-animate, list of directives for animation & custom directives, enable or disable animation","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:\/\/data-flair.training\/blogs\/angularjs-animation\/","og_locale":"en_US","og_type":"article","og_title":"AngularJS Animation with Example | How to Add ng-Animate? - DataFlair","og_description":"How to create or add AngularJS Animation with example & ng-animate, list of directives for animation & custom directives, enable or disable animation","og_url":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2019-03-11T03:50:40+00:00","article_modified_time":"2020-01-31T05:20:33+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823"},"headline":"AngularJS Animation with Example | How to Add ng-Animate?","datePublished":"2019-03-11T03:50:40+00:00","dateModified":"2020-01-31T05:20:33+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/"},"wordCount":1176,"commentCount":1,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg","keywords":["AngularJS Animation","Animation in AngularJS","Animation on Bootstrap","Flicker","ng-Animate"],"articleSection":["AngularJS Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/angularjs-animation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/","url":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/","name":"AngularJS Animation with Example | How to Add ng-Animate? - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg","datePublished":"2019-03-11T03:50:40+00:00","dateModified":"2020-01-31T05:20:33+00:00","description":"How to create or add AngularJS Animation with example & ng-animate, list of directives for animation & custom directives, enable or disable animation","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/angularjs-animation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2019\/03\/AngularJS-Animation.jpg","width":1200,"height":628,"caption":"How to add and create Animation in AngularJS"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/angularjs-animation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"AngularJS Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/angularjs\/"},{"@type":"ListItem","position":3,"name":"AngularJS Animation with Example | How to Add ng-Animate?"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/7f83c342f5d1632d6f7b4b0b0f447823","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4cf3a74600d131330b8c481d519afd1574093ed89f6d3396a95393ad223eb7cd?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team creates expert-level guides on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our goal is to empower learners with easy-to-understand content. Explore our resources for career growth and practical learning.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/51434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=51434"}],"version-history":[{"count":5,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/51434\/revisions"}],"predecessor-version":[{"id":51808,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/51434\/revisions\/51808"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/51552"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=51434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=51434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=51434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}