{"id":72347,"date":"2020-01-13T17:47:43","date_gmt":"2020-01-13T12:17:43","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=72347"},"modified":"2024-04-12T14:22:53","modified_gmt":"2024-04-12T08:52:53","slug":"basic-angularjs-directives","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/","title":{"rendered":"Basic AngularJS Directives"},"content":{"rendered":"<p>AngularJS directives are extended HTML attributes with the prefix ng-. The ng-app directive initializes an AngularJS application. The ng-init directive initializes application data.<\/p>\n<p>The ng-model directive binds the value of HTML controls (input, select, textarea) to application data.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;&#8221; ng-init=&#8221;firstName=&#8217;Demo'&#8221;&gt;<\/p>\n<p>&lt;p&gt;Name: &lt;input type=&#8221;text&#8221; ng-model=&#8221;firstName&#8221;&gt;&lt;\/p&gt;<\/p>\n<p>&lt;p&gt;You wrote: {{ firstName }}&lt;\/p&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>The ng-app directive also tells AngularJS that the &lt;div&gt; element is the &#8220;owner&#8221; of the AngularJS application.<\/p>\n<h4>Data Binding<\/h4>\n<p>The {{ firstName }} expression, in the example above, is an AngularJS data binding expression. Data binding in AngularJS binds AngularJS expressions with AngularJS data. {{ firstName }} is bound with ng-model=&#8221;firstName&#8221;.<\/p>\n<p>In the next example two text fields are bound together with two ng-model directives:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;&#8221; ng-init=&#8221;quantity=1;price=5&#8243;&gt;<\/p>\n<p>Quantity: &lt;input type=&#8221;number&#8221; ng-model=&#8221;quantity&#8221;&gt;<\/p>\n<p>Costs:\u00a0\u00a0\u00a0 &lt;input type=&#8221;number&#8221; ng-model=&#8221;price&#8221;&gt;<\/p>\n<p>Total in dollar: {{ quantity * price }}<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>Using ng-init is not very common.<\/p>\n<h4>Repeating HTML Elements<\/h4>\n<p>The ng-repeat directive repeats an HTML element:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;&#8221; ng-init=&#8221;names=[&#8216;Jani&#8217;,&#8217;Hege&#8217;,&#8217;Kai&#8217;]&#8221;&gt;<\/p>\n<p>&lt;ul&gt;<\/p>\n<p>&lt;li ng-repeat=&#8221;x in names&#8221;&gt;<\/p>\n<p>{{ x }}<\/p>\n<p>&lt;\/li&gt;<\/p>\n<p>&lt;\/ul&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>The ng-repeat directive actually clones HTML elements once for each item in a collection. The ng-repeat directive used on an array of objects:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;&#8221; ng-init=&#8221;names=[<\/p>\n<p>{name:&#8217;Jani&#8217;,country:&#8217;Norway&#8217;},<\/p>\n<p>{name:&#8217;Hege&#8217;,country:&#8217;Sweden&#8217;},<\/p>\n<p>{name:&#8217;Kai&#8217;,country:&#8217;Denmark&#8217;}]&#8221;&gt;<\/p>\n<p>&lt;ul&gt;<\/p>\n<p>&lt;li ng-repeat=&#8221;x in names&#8221;&gt;<\/p>\n<p>{{ x.name + &#8216;, &#8216; + x.country }}<\/p>\n<p>&lt;\/li&gt;<\/p>\n<p>&lt;\/ul&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>AngularJS is perfect for database CRUD (Create Read Update Delete) applications. Just imagine if these objects were records from a database.<\/p>\n<h4>The ng-app Directive<\/h4>\n<p>The ng-app directive defines the root element of an AngularJS application. The ng-app directive will auto-bootstrap (automatically initialize) the application when a web page is loaded.<\/p>\n<h4>The ng-init Directive<\/h4>\n<p>The ng-init directive defines initial values for an AngularJS application. Normally, you will not use ng-init. You will use a controller or module instead.<\/p>\n<h4>The ng-model Directive<\/h4>\n<p>The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. The ng-model directive can also:<\/p>\n<ul>\n<li>Provide type validation for application data (number, email, required).<\/li>\n<li>Provide status for application data (invalid, dirty, touched, error).<\/li>\n<li>Provide CSS classes for HTML elements.<\/li>\n<li>Bind HTML elements to HTML forms.<\/li>\n<\/ul>\n<p>With the ng-model directive you can bind the value of an input field to a variable created in AngularJS.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;myApp&#8221; ng-controller=&#8221;myCtrl&#8221;&gt;<\/p>\n<p>Name: &lt;input ng-model=&#8221;name&#8221;&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>&lt;script&gt;<\/p>\n<p>var app = angular.module(&#8216;myApp&#8217;, []);<\/p>\n<p>app.controller(&#8216;myCtrl&#8217;, function($scope) {<\/p>\n<p>$scope.name = &#8220;Demo User&#8221;;<\/p>\n<p>});<\/p>\n<p>&lt;\/script&gt;<\/p>\n<p><u>Two-Way Binding<\/u> &#8211; The binding goes both ways. If the user changes the value inside the input field, the AngularJS property will also change its value:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;div ng-app=&#8221;myApp&#8221; ng-controller=&#8221;myCtrl&#8221;&gt;<\/p>\n<p>Name: &lt;input ng-model=&#8221;name&#8221;&gt;<\/p>\n<p>&lt;h1&gt;You entered: {{name}}&lt;\/h1&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p><u>Validate User Input<\/u> &#8211; The ng-model directive can provide type validation for application data (number, e-mail, required):<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;form ng-app=&#8221;&#8221; name=&#8221;myForm&#8221;&gt;<\/p>\n<p>Email:<\/p>\n<p>&lt;input type=&#8221;email&#8221; name=&#8221;myAddress&#8221; ng-model=&#8221;text&#8221;&gt;<\/p>\n<p>&lt;span ng-show=&#8221;myForm.myAddress.$error.email&#8221;&gt;Not a valid e-mail address&lt;\/span&gt;<\/p>\n<p>&lt;\/form&gt;<\/p>\n<p>In the example above, the span will be displayed only if the expression in the ng-show attribute returns true.<\/p>\n<p>If the property in the ng-model attribute does not exist, AngularJS will create one for you.<\/p>\n<p><u>Application Status<\/u> &#8211; The ng-model directive can provide status for application data (invalid, dirty, touched, error):<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;form ng-app=&#8221;&#8221; name=&#8221;myForm&#8221; ng-init=&#8221;myText = &#8216;post@myweb.com'&#8221;&gt;<\/p>\n<p>Email:<\/p>\n<p>&lt;input type=&#8221;email&#8221; name=&#8221;myAddress&#8221; ng-model=&#8221;myText&#8221; required&gt;<\/p>\n<p>&lt;h1&gt;Status&lt;\/h1&gt;<\/p>\n<p>{{myForm.myAddress.$valid}}<\/p>\n<p>{{myForm.myAddress.$dirty}}<\/p>\n<p>{{myForm.myAddress.$touched}}<\/p>\n<p>&lt;\/form&gt;<\/p>\n<p><u>CSS Classes<\/u> &#8211; The ng-model directive provides CSS classes for HTML elements, depending on their status:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;style&gt;<\/p>\n<p>input.ng-invalid {<\/p>\n<p>background-color: lightblue;<\/p>\n<p>}<\/p>\n<p>&lt;\/style&gt;<\/p>\n<p>&lt;body&gt;<\/p>\n<p>&lt;form ng-app=&#8221;&#8221; name=&#8221;myForm&#8221;&gt;<\/p>\n<p>Enter your name:<\/p>\n<p>&lt;input name=&#8221;myName&#8221; ng-model=&#8221;myText&#8221; required&gt;<\/p>\n<p>&lt;\/form&gt;<\/p>\n<p>The ng-model directive adds\/removes the following classes, according to the status of the form field:<\/p>\n<p>ng-empty<\/p>\n<p>ng-not-empty<\/p>\n<p>ng-touched<\/p>\n<p>ng-untouched<\/p>\n<p>ng-valid<\/p>\n<p>ng-invalid<\/p>\n<p>ng-dirty<\/p>\n<p>ng-pending<\/p>\n<p>ng-pristine<\/p>\n<h4>Create New Directives<\/h4>\n<p>In addition to all the built-in AngularJS directives, you can create your own directives. New directives are created by using the .directive function.<\/p>\n<p>To invoke the new directive, make an HTML element with the same tag name as the new directive.<\/p>\n<p>When naming a directive, you must use a camel case name, w3TestDirective, but when invoking it, you must use &#8211; separated name, w3-test-directive:<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>&lt;body ng-app=&#8221;myApp&#8221;&gt;<\/p>\n<p>&lt;w3-test-directive&gt;&lt;\/w3-test-directive&gt;<\/p>\n<p>&lt;script&gt;<\/p>\n<p>var app = angular.module(&#8220;myApp&#8221;, []);<\/p>\n<p>app.directive(&#8220;w3TestDirective&#8221;, function() {<\/p>\n<p>return {<\/p>\n<p>template : &#8220;&lt;h1&gt;Made by a directive!&lt;\/h1&gt;&#8221;<\/p>\n<p>};<\/p>\n<p>});<\/p>\n<p>&lt;\/script&gt;<\/p>\n<p>&lt;\/body&gt;<\/p>\n<p>You can invoke a directive by using:<\/p>\n<ul>\n<li>Element name<\/li>\n<li>Attribute<\/li>\n<li>Class<\/li>\n<li>Comment<\/li>\n<\/ul>\n<p>The examples below will all produce the same result:<\/p>\n<p><u>Element name<\/u><\/p>\n<p>&lt;w3-test-directive&gt;&lt;\/w3-test-directive&gt;<\/p>\n<p><u>Attribute<\/u><\/p>\n<p>&lt;div w3-test-directive&gt;&lt;\/div&gt;<\/p>\n<p><u>Class<\/u><\/p>\n<p>&lt;div class=&#8221;w3-test-directive&#8221;&gt;&lt;\/div&gt;<\/p>\n<p><u>Comment<\/u><\/p>\n<p>&lt;!&#8211; directive: w3-test-directive &#8211;&gt;<\/p>\n<h4>Restrictions<\/h4>\n<p>You can restrict your directives to only be invoked by some of the methods.<\/p>\n<p><strong>Example<\/strong><\/p>\n<p>By adding a restrict property with the value &#8220;A&#8221;, the directive can only be invoked by attributes:<\/p>\n<p>var app = angular.module(&#8220;myApp&#8221;, []);<\/p>\n<p>app.directive(&#8220;w3TestDirective&#8221;, function() {<\/p>\n<p>return {<\/p>\n<p>restrict : &#8220;A&#8221;,<\/p>\n<p>template : &#8220;&lt;h1&gt;Made by a directive!&lt;\/h1&gt;&#8221;<\/p>\n<p>};<\/p>\n<p>});<\/p>\n<p>The legal restrict values are:<\/p>\n<ul>\n<li>E for Element name<\/li>\n<li>A for Attribute<\/li>\n<li>C for Class<\/li>\n<li>M for Comment<\/li>\n<\/ul>\n<p>By default the value is EA, meaning that both Element names and attribute names can invoke the directive.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AngularJS directives are extended HTML attributes with the prefix ng-. The ng-app directive initializes an AngularJS application. The ng-init directive initializes application data. The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. Example &lt;div ng-app=&#8221;&#8221; ng-init=&#8221;firstName=&#8217;Demo&#8217;&#8221;&gt; &lt;p&gt;Name: &lt;input type=&#8221;text&#8221; ng-model=&#8221;firstName&#8221;&gt;&lt;\/p&gt; &lt;p&gt;You wrote: {{ firstName }}&lt;\/p&gt; &lt;\/div&gt; The ng-app directive&#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":[8417],"tags":[8431],"class_list":["post-72347","page","type-page","status-publish","hentry","category-angular-js-web-development","tag-basic-angularjs-directives"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Basic AngularJS Directives - 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\/basic-angularjs-directives\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Basic AngularJS Directives - Tutorial\" \/>\n<meta property=\"og:description\" content=\"AngularJS directives are extended HTML attributes with the prefix ng-. The ng-app directive initializes an AngularJS application. The ng-init directive initializes application data. The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. Example &lt;div ng-app=&#8221;&#8221; ng-init=&#8221;firstName=&#8217;Demo&#039;&#8221;&gt; &lt;p&gt;Name: &lt;input type=&#8221;text&#8221; ng-model=&#8221;firstName&#8221;&gt;&lt;\/p&gt; &lt;p&gt;You wrote: {{ firstName }}&lt;\/p&gt; &lt;\/div&gt; The ng-app directive...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/\" \/>\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:53+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 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\/basic-angularjs-directives\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/\",\"name\":\"Basic AngularJS Directives - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2020-01-13T12:17:43+00:00\",\"dateModified\":\"2024-04-12T08:52:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Basic AngularJS Directives\"}]},{\"@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":"Basic AngularJS Directives - 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\/basic-angularjs-directives\/","og_locale":"en_US","og_type":"article","og_title":"Basic AngularJS Directives - Tutorial","og_description":"AngularJS directives are extended HTML attributes with the prefix ng-. The ng-app directive initializes an AngularJS application. The ng-init directive initializes application data. The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. Example &lt;div ng-app=&#8221;&#8221; ng-init=&#8221;firstName=&#8217;Demo'&#8221;&gt; &lt;p&gt;Name: &lt;input type=&#8221;text&#8221; ng-model=&#8221;firstName&#8221;&gt;&lt;\/p&gt; &lt;p&gt;You wrote: {{ firstName }}&lt;\/p&gt; &lt;\/div&gt; The ng-app directive...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:52:53+00:00","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/","name":"Basic AngularJS Directives - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2020-01-13T12:17:43+00:00","dateModified":"2024-04-12T08:52:53+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/basic-angularjs-directives\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Basic AngularJS Directives"}]},{"@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\/72347","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=72347"}],"version-history":[{"count":4,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/72347\/revisions"}],"predecessor-version":[{"id":72535,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/72347\/revisions\/72535"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=72347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=72347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=72347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}