{"id":20746,"date":"2018-02-06T16:15:00","date_gmt":"2018-02-06T14:15:00","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=20746"},"modified":"2018-02-06T15:56:52","modified_gmt":"2018-02-06T13:56:52","slug":"angularjs-directives-example","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/","title":{"rendered":"AngularJS Directives Example"},"content":{"rendered":"<p>Hello readers, in this basic example, developers will learn what <em>AngularJS<\/em> is and how to use the <strong>angular directives<\/strong> in the angular applications.<\/p>\n<h2>1. Introduction<\/h2>\n<h3>1.1 What is AngularJS?<\/h3>\n<p><em>AngularJS<\/em> is a JavaScript MVC or Model-View-Controller framework developed by Google that lets developers build well structured, easily testable, and maintainable front-end applications. Before we start with the creation of a real application using AngularJS, let us see the important parts of an angular application.<br \/>\n[ulp id=&#8217;LXJcMJZXSsqGXYW8&#8242;]<\/p>\n<h4>1.1.1 Templates<\/h4>\n<p>In AngularJS, a <span style=\"text-decoration: underline;\">template<\/span> is an <code>HTML<\/code> with added markups. AngularJS library compiles the templates and renders the resultant <code>HTML<\/code> page.<\/p>\n<h4>1.1.2 Directives<\/h4>\n<p><span style=\"text-decoration: underline;\">Directives<\/span> are the markers (i.e. attributes) on a DOM element that tell AngularJS to attach a specific behavior to that DOM element or even transform the DOM element and its children. Most of the directives in AngularJS library starts with the prefix <code>ng<\/code>. Below is the list of the important directives that are available in the angular library:<\/p>\n<ul>\n<li><code>ng-app<\/code>: The <code>ng-app<\/code> directive is a <em>starting point<\/em>. If the AngularJS framework finds the <code>ng-app<\/code> directive anywhere in the <code>HTML<\/code> document, it bootstraps (i.e. initializes) itself and compiles the <code>HTML<\/code> template<\/li>\n<li><code>ng-init<\/code>: The <code>ng-init<\/code> directive defines the initial values for an angular application<\/li>\n<li><code>ng-model<\/code>: The <code>ng-model<\/code> directive binds an <code>HTML<\/code> element to a property on the <code>$scope<\/code> object. It also binds the values of AngularJS application data to the <code>HTML<\/code> input controls.<\/li>\n<li><code>ng-controller<\/code>: The <code>ng-controller<\/code> directive specifies a controller in the <code>HTML<\/code> element. This controller will add behavior or maintain the data in that <code>HTML<\/code> element and its child elements<\/li>\n<li><code>ng-bind<\/code>: The <code>ng-bind<\/code> directive binds the AngularJS application data to the <code>HTML<\/code> tags<\/li>\n<li><code>ng-repeat<\/code>: The <code>ng-repeat<\/code> directive repeat a set of <code>HTML<\/code> elements for each item in a given collection<\/li>\n<li><code>ng-show<\/code>: The <code>ng-show<\/code> directive <em>hides<\/em> or <em>shows<\/em> the <code>HTML<\/code> elements<\/li>\n<li><code>ng-readonly<\/code>: The <code>ng-readonly<\/code> directive makes an <code>HTML<\/code> element as <em>read-only<\/em> based on the boolean value of the specified expression<\/li>\n<li><code>ng-disabled<\/code>: The <code>ng-disabled<\/code> directive makes an <code>HTML<\/code> element as <em>disabled<\/em> based on the boolean value of the specified expression<\/li>\n<li><code>ng-if<\/code>: The <code>ng-if<\/code> directive removes an <code>HTML<\/code> based on the boolean value of the specified expression. Here if an expression returns <em>true<\/em> then the <code>HTML<\/code> element is re-created otherwise the element is removed from the <code>HTML<\/code> document<\/li>\n<li><code>ng-click<\/code>: The <code>ng-if<\/code> directive specifies a behavior when an <code>HTML<\/code> element is clicked<\/li>\n<\/ul>\n<h4>1.1.3 Expressions<\/h4>\n<p>An <span style=\"text-decoration: underline;\">expression<\/span> is like a JavaScript code usually wrapped inside the double curly braces such as <code>{{ expression }}<\/code>. AngularJS library evaluates the expression and produces a result.<\/p>\n<h3>1.2 Why should we use AngularJS?<\/h3>\n<p>Using the Model-View-Controller architecture, the framework separates a web application into a simple and yet manageable structure, which comprises of \u201cviews\u201d, \u201cmodels\u201d and \u201ccontrollers\u201d. The angular library provides the in-build directives (or attributes) to extend the <code>HTML<\/code> inside a web page. When developers attach these directives to the <code>HTML<\/code> elements and attributes, it creates a dynamic web-page with very little coding.<\/p>\n<p>These new APIs make developer&#8217;s life easier, really! But it would be difficult for a beginner to understand this without an example. Therefore, let us create a simple application using the important angular directives.<\/p>\n<h2>2. AngularJS Directives Example<\/h2>\n<p>Here is a step-by-step guide to implementing the Angular Directives.<\/p>\n<h3>2.1 Tools Used<\/h3>\n<p>We are using Eclipse Kepler SR2, JDK 8 and Maven. Having said that, we have tested the code against JDK 1.7 and it works well.<\/p>\n<h3>2.2 Project Structure<\/h3>\n<p>Firstly, let\u2019s review the final project structure if you are confused about where you should create the corresponding files or folder later!<\/p>\n<figure id=\"attachment_20747\" aria-describedby=\"caption-attachment-20747\" style=\"width: 343px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_structure_guide_1.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20747\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_structure_guide_1.jpg\" alt=\"Fig. 1: Application Project Structure\" width=\"343\" height=\"306\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_structure_guide_1.jpg 343w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_structure_guide_1-300x268.jpg 300w\" sizes=\"(max-width: 343px) 100vw, 343px\" \/><\/a><figcaption id=\"caption-attachment-20747\" class=\"wp-caption-text\">Fig. 1: Application Project Structure<\/figcaption><\/figure>\n<h3>2.3 Project Creation<\/h3>\n<p>This section will show how to create a Java-based Maven project with Eclipse. In Eclipse Ide, go to <code>File -&gt; New -&gt; Maven Project<\/code>.<\/p>\n<figure id=\"attachment_20748\" aria-describedby=\"caption-attachment-20748\" style=\"width: 657px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_1.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20748\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_1.jpg\" alt=\"Fig. 2: Create Maven Project\" width=\"657\" height=\"690\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_1.jpg 657w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_1-286x300.jpg 286w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/a><figcaption id=\"caption-attachment-20748\" class=\"wp-caption-text\">Fig. 2: Create Maven Project<\/figcaption><\/figure>\n<p>In the New Maven Project window, it will ask you to select project location. By default, &#8216;Use default workspace location&#8217; will be selected. Just click on next button to proceed.<\/p>\n<figure id=\"attachment_20749\" aria-describedby=\"caption-attachment-20749\" style=\"width: 598px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_2.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20749\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_2.jpg\" alt=\"Fig. 3: Project Details\" width=\"598\" height=\"543\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_2.jpg 598w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_2-300x272.jpg 300w\" sizes=\"(max-width: 598px) 100vw, 598px\" \/><\/a><figcaption id=\"caption-attachment-20749\" class=\"wp-caption-text\">Fig. 3: Project Details<\/figcaption><\/figure>\n<p>Select the &#8216;Maven Web App&#8217; Archetype from the list of options and click next.<\/p>\n<figure id=\"attachment_20750\" aria-describedby=\"caption-attachment-20750\" style=\"width: 597px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_3.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20750\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_3.jpg\" alt=\"Fig. 4: Archetype Selection\" width=\"597\" height=\"541\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_3.jpg 597w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_3-300x272.jpg 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/a><figcaption id=\"caption-attachment-20750\" class=\"wp-caption-text\">Fig. 4: Archetype Selection<\/figcaption><\/figure>\n<p>It will ask you to &#8216;Enter the group and the artifact id for the project&#8217;. We will enter the details as shown in the below image. The version number will be by default: <code>0.0.1-SNAPSHOT<\/code>.<\/p>\n<figure id=\"attachment_20751\" aria-describedby=\"caption-attachment-20751\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20751\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4.jpg\" alt=\"Fig. 5: Archetype Parameters\" width=\"552\" height=\"547\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4.jpg 552w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4-150x150.jpg 150w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4-300x297.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_guide_4-70x70.jpg 70w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/><\/a><figcaption id=\"caption-attachment-20751\" class=\"wp-caption-text\">Fig. 5: Archetype Parameters<\/figcaption><\/figure>\n<p>Click on Finish and the creation of a maven project is completed. If you see, it has downloaded the maven dependencies and a <code>pom.xml<\/code> file will be created. It will have the following code:<\/p>\n<p><span style=\"text-decoration: underline;\"><em>pom.xml<\/em><\/span><\/p>\n<pre class=\"brush:xml; wrap-lines:false;\">&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\r\n\t&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\r\n\t&lt;groupId&gt;AngularJsDirectives&lt;\/groupId&gt;\r\n\t&lt;artifactId&gt;AngularJsDirectives&lt;\/artifactId&gt;\r\n\t&lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\r\n\t&lt;packaging&gt;war&lt;\/packaging&gt;\r\n&lt;\/project&gt;\r\n<\/pre>\n<p>Let\u2019s start building the application!<\/p>\n<h2>3. Application Building<\/h2>\n<p>Let\u2019s create an application to understand the basic building blocks of the angular directives.<\/p>\n<h3>3.1 Load the AngularJS framework<\/h3>\n<p>Since it is a pure JavaScript framework, we should add its reference using the <code>&lt;script&gt;<\/code> tag.<\/p>\n<pre class=\"brush:js; wrap-lines:false;\">&lt;script type=\"text\/javascript\" src=\"resource\/js\/angular_v1.6.0.js\"&gt;&lt;\/script&gt;\r\n<\/pre>\n<h3>3.2 Define the AngularJS application<\/h3>\n<p>Next, we will define the AngularJS application using the <code>&lt;ng-app&gt;<\/code> directive.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.jsp<\/em><\/span><\/p>\n<pre class=\"brush:html; wrap-lines:false;\">&lt;div ng-app = \"\"&gt;\r\n ...\r\n&lt;\/div&gt;\r\n<\/pre>\n<h3>3.3 Define Directives<\/h3>\n<p>In angular, <strong>Directives<\/strong> are the powerful components that help to extend the basic <code>HTML<\/code>elements\/attributes. In this step, we\u2019ll define the <em>angular directives<\/em> to show their usage in the angular applications.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.jsp<\/em><\/span><\/p>\n<pre class=\"brush:html; wrap-lines:false;\">&lt;!-- EXAMPLE 1 --&gt;\r\n&lt;div id=\"model\"&gt;\r\n\t&lt;input type=\"text\" name=\"name\" id=\"text_name\" ng-model=\"name\" placeholder=\"Enter your name\" class=\"form-control\" \/&gt;\r\n\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t&lt;p id=\"nText\" class=\"text-info\"&gt;Your Name is &lt;strong&gt;{{ name }}&lt;\/strong&gt;&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;!-- EXAMPLE 2 --&gt;\r\n&lt;div id=\"init_repeat\" ng-init=\"days=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\"&gt;\r\n\t&lt;h2 id=\"wText\" class=\"text-secondary\"&gt;7 Days of the Weeks&lt;\/h2&gt;\r\n\t&lt;ul class=\"list-group\"&gt;\r\n\t\t&lt;li class=\"list-group-item\" ng-repeat=\"dname in days\"&gt;{{ dname }}&lt;\/li&gt;\r\n\t&lt;\/ul&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;!-- EXAMPLE 3 --&gt;\r\n&lt;div id=\"bind\"&gt;\r\n\t&lt;input type=\"text\" name=\"cname\" id=\"country_name\" ng-model=\"cname\" placeholder=\"Enter country\" class=\"form-control\" \/&gt;\r\n\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t&lt;p id=\"cText\" class=\"text-info\"&gt;Country name is &lt;strong&gt;&lt;span ng-bind=\"cname\"&gt;&lt;\/span&gt;&lt;\/strong&gt;&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;!-- EXAMPLE 4 --&gt;\r\n&lt;div id=\"disabled\" ng-init=\"switch=true\"&gt;\r\n\t&lt;button id=\"btn\" class=\"btn btn-default\" ng-disabled=\"switch\"&gt;Click Me!&lt;\/button&gt;\t\r\n\t&lt;input type=\"checkbox\" name=\"switch\" id=\"checkBox\" ng-model=\"switch\" value=\"Button\"\/&gt;\r\n\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t&lt;p id=\"dText\" class=\"text-dark\"&gt;Disabled - &lt;strong&gt;{{ switch }}&lt;\/strong&gt;&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<h3>3.4 Complete Application<\/h3>\n<p>Complete the above steps and I will show you how to use the angular directives with real-life practices.\u00a0Let\u2019s see the code snippet.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.jsp<\/em><\/span><\/p>\n<pre class=\"brush: html; wrap-lines:false;\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n   &lt;head&gt;\r\n      &lt;meta http-equiv=\"Content-Type\" content=\"text\/html; charset=UTF-8\"&gt;\r\n      &lt;title&gt;AngularJS Directives&lt;\/title&gt;\r\n      \r\n      &lt;!-- AngularJs Javascript File --&gt;\r\n      &lt;script type=\"text\/javascript\" src=\"resource\/js\/angular_v1.6.0.js\"&gt;&lt;\/script&gt;\r\n      \r\n      &lt;!-- Bootstrap Css --&gt;\r\n      &lt;link rel=\"stylesheet\" href=\"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css\"&gt;          \r\n   &lt;\/head&gt;\r\n   &lt;body&gt;\r\n      &lt;div id=\"angularJsDirectives\" class=\"container\"&gt;\r\n         &lt;h1 align=\"center\" class=\"text-primary\"&gt;AngularJS - Directives Example&lt;\/h1&gt;\r\n         &lt;hr \/&gt;\r\n         &lt;div ng-app=\"\"&gt;\r\n         \t&lt;!-- EXAMPLE 1 --&gt;\r\n         \t&lt;h3 class=\"text-warning\"&gt;&lt;ins&gt;ng-model&lt;\/ins&gt;&lt;\/h3&gt;\r\n         \t&lt;div id=\"model\"&gt;\r\n\t\t\t\t&lt;input type=\"text\" name=\"name\" id=\"text_name\" ng-model=\"name\" placeholder=\"Enter your name\" class=\"form-control\" \/&gt;\r\n\t\t\t\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t\t\t\t&lt;p id=\"nText\" class=\"text-info\"&gt;Your Name is &lt;strong&gt;{{ name }}&lt;\/strong&gt;&lt;\/p&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t\r\n         \t&lt;!-- EXAMPLE 2 --&gt;\r\n         \t&lt;h3 class=\"text-warning\"&gt;&lt;ins&gt;ng-init&lt;\/ins&gt; &amp; &lt;ins&gt;ng-repeat&lt;\/ins&gt;&lt;\/h3&gt;\r\n         \t&lt;div id=\"init_repeat\" ng-init=\"days=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\"&gt;\r\n         \t\t&lt;h2 id=\"wText\" class=\"text-secondary\"&gt;7 Days of the Weeks&lt;\/h2&gt;\t\t\t\t\r\n\t\t\t\t&lt;ul class=\"list-group\"&gt;\r\n\t\t\t\t\t&lt;li class=\"list-group-item\" ng-repeat=\"dname in days\"&gt;{{ dname }}&lt;\/li&gt;\r\n\t\t\t\t&lt;\/ul&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t\r\n\t\t\t&lt;!-- EXAMPLE 3 --&gt;\r\n\t\t\t&lt;h3 class=\"text-warning\"&gt;&lt;ins&gt;ng-bind&lt;\/ins&gt;&lt;\/h3&gt;\r\n\t\t\t&lt;div id=\"bind\"&gt;\r\n\t\t\t\t&lt;input type=\"text\" name=\"cname\" id=\"country_name\" ng-model=\"cname\" placeholder=\"Enter country\" class=\"form-control\" \/&gt;\r\n\t\t\t\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t\t\t\t&lt;p id=\"cText\" class=\"text-info\"&gt;Country name is &lt;strong&gt;&lt;span ng-bind=\"cname\"&gt;&lt;\/span&gt;&lt;\/strong&gt;&lt;\/p&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t\t\r\n\t\t\t&lt;!-- EXAMPLE 4 --&gt;\r\n\t\t\t&lt;h3 class=\"text-warning\"&gt;&lt;ins&gt;ng-disabled&lt;\/ins&gt;&lt;\/h3&gt;\r\n\t\t\t&lt;div id=\"disabled\" ng-init=\"switch=true\"&gt;\r\n\t\t\t\t&lt;button id=\"btn\" class=\"btn btn-default\" ng-disabled=\"switch\"&gt;Click Me!&lt;\/button&gt;\t\r\n\t\t\t\t&lt;input type=\"checkbox\" name=\"switch\" id=\"checkBox\" ng-model=\"switch\" value=\"Button\"\/&gt;\r\n\t\t\t\t&lt;div&gt;\u00a0&lt;\/div&gt;\r\n\t\t\t\t&lt;p id=\"dText\" class=\"text-dark\"&gt;Disabled - &lt;strong&gt;{{ switch }}&lt;\/strong&gt;&lt;\/p&gt;\r\n\t\t\t&lt;\/div&gt;\r\n         &lt;\/div&gt;\r\n      &lt;\/div&gt;\r\n   &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<h2>4. Run the Application<\/h2>\n<p>As we are ready for all the changes, let us compile the project and deploy the application on the Tomcat7 server. To deploy the application on Tomat7, right-click on the project and navigate to <code>Run as -&gt; Run on Server<\/code>.<\/p>\n<figure id=\"attachment_20752\" aria-describedby=\"caption-attachment-20752\" style=\"width: 807px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_deploy_guide_1.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20752\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_deploy_guide_1.jpg\" alt=\"Fig. 6: How to Deploy Application on Tomcat\" width=\"807\" height=\"471\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_deploy_guide_1.jpg 807w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_deploy_guide_1-300x175.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_deploy_guide_1-768x448.jpg 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><figcaption id=\"caption-attachment-20752\" class=\"wp-caption-text\">Fig. 6: How to Deploy Application on Tomcat<\/figcaption><\/figure>\n<p>Tomcat will deploy the application in its web-apps folder and shall start its execution to deploy the project so that we can go ahead and test it in the browser.<\/p>\n<h2>5. Project Demo<\/h2>\n<p>Open your favorite browser and hit the following URL. The output page using the angular directives will be displayed.<\/p>\n<pre class=\"brush:plain; wrap-lines:false;\">http:\/\/localhost:8085\/AngularJsDirectives\/\r\n<\/pre>\n<p>Server name (localhost) and port (8085) may vary as per your Tomcat configuration.<\/p>\n<figure id=\"attachment_20753\" aria-describedby=\"caption-attachment-20753\" style=\"width: 849px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_demo_guide_1.jpg\"><img decoding=\"async\" class=\"size-full wp-image-20753\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_demo_guide_1.jpg\" alt=\"Fig. 7: Angular Directives\" width=\"849\" height=\"461\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_demo_guide_1.jpg 849w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_demo_guide_1-300x163.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/angular_d_ex_project_demo_guide_1-768x417.jpg 768w\" sizes=\"(max-width: 849px) 100vw, 849px\" \/><\/a><figcaption id=\"caption-attachment-20753\" class=\"wp-caption-text\">Fig. 7: Angular Directives<\/figcaption><\/figure>\n<p>That\u2019s all for this post. Happy Learning!!<\/p>\n<h2>6. Conclusion<\/h2>\n<p>In this section, developers learned how to create a simple application using the AngularJS Directives. Developers can download the sample application as an Eclipse project in the <a href=\"#projectDownload\">Downloads<\/a> section.<\/p>\n<h2><a name=\"projectDownload\"><\/a>7. Download the Eclipse Project<\/h2>\n<p>This was an example of <em>Angular Directives<\/em> in the AngularJS framework.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>\nYou can download the full source code of this example here: <a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/AngularJsDirectives.zip\" target=\"_blank\" rel=\"noopener\"><strong>AngularJsDirectives<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications. 1. Introduction 1.1 What is AngularJS? AngularJS is a JavaScript MVC or Model-View-Controller framework developed by Google that lets developers build well structured, easily testable, and maintainable front-end applications. Before we start &hellip;<\/p>\n","protected":false},"author":2162,"featured_media":909,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[48,266,376,58],"class_list":["post-20746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular-js","tag-angular","tag-angularjs","tag-bootstrap","tag-html5-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AngularJS Directives Example - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.\" \/>\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.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AngularJS Directives Example - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-06T14:15:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\"},\"author\":{\"name\":\"Yatin\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/6c946b8aea919fb2cd83fb17268e9367\"},\"headline\":\"AngularJS Directives Example\",\"datePublished\":\"2018-02-06T14:15:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\"},\"wordCount\":1031,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"keywords\":[\"angular\",\"angularjs\",\"bootstrap\",\"html5\"],\"articleSection\":[\"Angular.js\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\",\"name\":\"AngularJS Directives Example - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"datePublished\":\"2018-02-06T14:15:00+00:00\",\"description\":\"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Angular.js\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/angular-js\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"AngularJS Directives Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/6c946b8aea919fb2cd83fb17268e9367\",\"name\":\"Yatin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3f011dd665043468ba193f7b07472ebbedfa359cff5e576a91a5901c130ca6f1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3f011dd665043468ba193f7b07472ebbedfa359cff5e576a91a5901c130ca6f1?s=96&d=mm&r=g\",\"caption\":\"Yatin\"},\"description\":\"The author is graduated in Electronics &amp; Telecommunication. During his studies, he has been involved with a significant number of projects ranging from programming and software engineering to telecommunications analysis. He works as a technical lead in the information technology sector where he is primarily involved with projects based on Java\/J2EE technologies platform and novel UI technologies.\",\"sameAs\":[\"https:\/\/www.webcodegeeks.com\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/yatin-batra\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AngularJS Directives Example - Web Code Geeks - 2026","description":"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.","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.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/","og_locale":"en_US","og_type":"article","og_title":"AngularJS Directives Example - Web Code Geeks - 2026","og_description":"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2018-02-06T14:15:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","type":"image\/jpeg"}],"author":"Yatin","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Yatin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/"},"author":{"name":"Yatin","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/6c946b8aea919fb2cd83fb17268e9367"},"headline":"AngularJS Directives Example","datePublished":"2018-02-06T14:15:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/"},"wordCount":1031,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","keywords":["angular","angularjs","bootstrap","html5"],"articleSection":["Angular.js"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/","name":"AngularJS Directives Example - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","datePublished":"2018-02-06T14:15:00+00:00","description":"Hello readers, in this basic example, developers will learn what AngularJS is and how to use the angular directives in the angular applications.","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-directives-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"Angular.js","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/angular-js\/"},{"@type":"ListItem","position":4,"name":"AngularJS Directives Example"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/6c946b8aea919fb2cd83fb17268e9367","name":"Yatin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3f011dd665043468ba193f7b07472ebbedfa359cff5e576a91a5901c130ca6f1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3f011dd665043468ba193f7b07472ebbedfa359cff5e576a91a5901c130ca6f1?s=96&d=mm&r=g","caption":"Yatin"},"description":"The author is graduated in Electronics &amp; Telecommunication. During his studies, he has been involved with a significant number of projects ranging from programming and software engineering to telecommunications analysis. He works as a technical lead in the information technology sector where he is primarily involved with projects based on Java\/J2EE technologies platform and novel UI technologies.","sameAs":["https:\/\/www.webcodegeeks.com"],"url":"https:\/\/www.webcodegeeks.com\/author\/yatin-batra\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/20746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/2162"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=20746"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/20746\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/909"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=20746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=20746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=20746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}