{"id":22246,"date":"2014-10-21T21:01:48","date_gmt":"2014-10-21T13:01:48","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=22246"},"modified":"2025-04-04T02:01:14","modified_gmt":"2025-04-03T18:01:14","slug":"angularjs-basic","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/","title":{"rendered":"Getting Started With AngularJS"},"content":{"rendered":"<p>Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not <a target=\"_blank\" href=\"https:\/\/angularjs.org\/\" rel=\"noopener noreferrer\">AngularJS<\/a> though. While it\u2019s been around since 2009 since its creation by Misko Hevery, <strong>AngularJS has been gaining a lot of attention in the past couple of months<\/strong>.<\/p>\n<p>People are talking about it, developers have been integrating it in their works, and authors have been writing books about it and earning loads of cash. So, <strong>what is AngularJS and why should you hop on it<\/strong>? Is it life-changing? It sure is! Let me tell you why.<\/p>\n<p><strong>Note:<\/strong> <em>I highly recommend that you get comfortable with JavaScript first before delving deeper into AngularJS. If you aren\u2019t familiar with <a target=\"_blank\" href=\"https:\/\/en.wikipedia.org\/wiki\/Model%E2%80%93view%E2%80%93controller\" rel=\"noopener noreferrer\">MVC<\/a> and <a rel=\"nofolow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Document_Object_Model\">DOM<\/a>, I suggest reading more about them before proceeding further, otherwise you might get confused with most of the terminologies used in this article.<\/em><\/p>\n<p class=\"note\"><strong>Recommended Reading:<\/strong> <a target=\"_blank\" href=\"https:\/\/www.hongkiat.com\/blog\/programming-myth\/\" rel=\"noopener noreferrer\">Learning Programming: 10 Misconceptions That Are Not True<\/a><\/p>\n<h2>What is AngularJS?<\/h2>\n<p>AngularJS is not just another JavaScript framework. Sure, we have Backbone, Ember, and the hottest jQuery, but AngularJS is different in many ways.<\/p>\n<h3>Data-Binding and Built for Single-Page Applications (SPA)<\/h3>\n<p>Firstly, AngularJS is <strong>a data-binding framework that is specifically built for SPAs<\/strong>. Meaning, you can easily build an application without using any other libraries since it already has everything you will ever need. It also maintains synchronization for the model and view.<\/p>\n<p>The beauty of building a SPA is that it imitates a desktop experience in which the page remains the same all throughout, with only the views being changed along with the URL \u2013 AngularJS handles routing as well as views. It\u2019s <strong>faster and smoother<\/strong> this way. It\u2019s as if you\u2019ve just opened a desktop application and having everything you need already there.<\/p>\n<p>Another thing is that <strong>unlike other SPAs, the browser history is actually kept<\/strong>. For example, if you want to click on the back button to get back to the previous view, AngularJS will actually take you back to the previous view. Most SPAs don\u2019t work this way.<\/p>\n<h3>Model-View-Controller Implementation Done Right<\/h3>\n<p>AngularJS implements MVC in a beautiful way. Most frameworks that use MVC <strong>requires you to separate your application into modules and then write code that will connect them together<\/strong>.<\/p>\n<p>While the reasoning behind this is to make the code work more flexible and reusable, this leads to many coding horrors, especially for lazy (or sleepy) developers. AngularJS handles this beautifully by simply requiring you to j<strong>ust split your application into different modules<\/strong>. It then handles the rest.<\/p>\n<h3>Animation<\/h3>\n<p>Of course a single-page application can\u2019t look good without the appropriate animations. As mentioned earlier, AngularJS is a feature-rich framework that has all of the things you\u2019ll need in building generic applications<\/p>\n<p>As such, <strong>it provides an easy way to introduce animation<\/strong> in every view the same way as jQuery does.<\/p>\n<p>Here\u2019s a <a target=\"_blank\" href=\"https:\/\/hendrixer.github.io\/#\/gdi2290\" rel=\"noopener noreferrer\">good example<\/a> of how AngularJS handles animations.<\/p>\n<p>But that is just the surface of AngularJS. Here is more of what it can do:<\/p>\n<ul>\n<li>Data validation<\/li>\n<li>Dependency injection<\/li>\n<li>Handle custom logic<\/li>\n<li>Multi-element directives<\/li>\n<li>Share data between controllers<\/li>\n<li>Enhance HTML<\/li>\n<li>DOM manipulation with the help of jQlite (built-in)<\/li>\n<li>AJAX<\/li>\n<li>Routing<\/li>\n<li>Testing<\/li>\n<li>and many more..<\/li>\n<\/ul>\n<h2>A Comparison<\/h2>\n<p>Now, let\u2019s take a peek on how AngularJS works by comparing it to the regular JavaScript and jQuery.<\/p>\n<h3>Vanilla JavaScript<\/h3>\n<p><strong>Without using any JavaScript library<\/strong>, this is how it looks when you display the data you input in real-time.<\/p>\n<pre>\r\n&lt;html&gt; \r\n    &lt;head&gt; \r\n    &lt;title&gt;Vanilla JavaScript&lt;\/title&gt; \r\n    &lt;\/head&gt; \r\n\r\n    &lt;body&gt; \r\n        Name: &lt;input id=\"textInput\" type=\"text\" \/&gt; \r\n        &lt;br\/&gt; \r\n        Your name is &lt;span id=\"name\"&gt;&lt;\/span&gt; \r\n        \r\n        &lt;script&gt; \r\n            var textInputElement = document.getElementById('textInput'), \r\n            nameElement = document.getElementById('name'); \r\n            textInputElement.addEventListener('keyup',function(){ \r\n            var text = textInputElement.value; \r\n            nameElement.innerHTML = text; \r\n            }); \r\n        &lt;\/script&gt; \r\n        \r\n    &lt;\/body&gt; \r\n&lt;\/html&gt;\r\n\r\n<\/pre>\n<h3>JQuery<\/h3>\n<p>With jQuery, displaying the data you input <strong>becomes much simpler<\/strong> since most of the back and forth is handled by jQuery. Thus, enabling you to write less code.<\/p>\n<pre>\r\n&lt;html&gt; \r\n    &lt;head&gt; \r\n        &lt;title&gt;jQuery&lt;\/title&gt; \r\n        &lt;script src=\"http:\/\/code.jquery.com\/jquery-2.1.1.min.js\"&gt;&lt;\/script&gt; \r\n    &lt;\/head&gt; \r\n    \r\n    &lt;body&gt; \r\n    Name: &lt;input id=\"textInput\" type=\"text\"\/&gt; \r\n    &lt;br\/&gt; \r\n    Your name is &lt;span id=\"name\"&gt;&lt;\/span&gt; \r\n    \r\n    &lt;script&gt; \r\n        $('#textInput').on('keyup',function(){ \r\n        $('#name').html($('#textInput').val()); \r\n         }); \r\n    &lt;\/script&gt; \r\n    &lt;\/body&gt; \r\n    \r\n&lt;\/html&gt;\r\n<\/pre>\n<h3>AngularJS<\/h3>\n<p>AngularJS takes everything up a notch. Not only is the framework lightweight, <strong>the way you write your HTML becomes easier<\/strong> too.<\/p>\n<pre>\r\n&lt;!DOCTYPE html&gt;\r\n\r\n&lt;html ng-app&gt;\r\n    &lt;head&gt;\r\n        &lt;script src=\"angular.min.js\"&gt;&lt;\/script&gt;\r\n        &lt;title&gt;AngularJS&lt;\/title&gt;\r\n    &lt;\/head&gt;\r\n    \r\n    &lt;body&gt;\r\n        Name: &lt;input type=\"text\" ng-model=\"name\" \/&gt;\r\n        &lt;br \/&gt;\r\n        Your name is {{ name }}\r\n    &lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>As demonstrated above, the beauty of AngularJS lies in <strong>making you write less code while maintaining integrity for your application<\/strong>. There is little back and forth across the code, since most of the stringing up of modules is done by AngularJS. Another noteworthy thing is that <strong>you don\u2019t have to manipulate the controllers in order to make changes on the view<\/strong>.<\/p>\n<h2>Limitations of AngularJS<\/h2>\n<p>AngularJS is not all sunshine and rainbows. If you are <strong>aiming to create an application that does simple calculations<\/strong> \u2013 a calculator, a puzzle game, animations, dynamic forms and the like \u2013 then AngularJS is the framework you are looking for.<\/p>\n<p>However, if you are building a big and intensive application like a management tool, you might want to veer off from AngularJS since it\u2019s not developed for that, or at least use other frameworks in conjunction.<\/p>\n<p>AngularJS is <strong>built for rapid prototyping<\/strong>, specifically for generic applications, but there are instances when you can use it to build applications of larger scales, but that is yet to gain popularity.<\/p>\n<h2>AngularJS Resources<\/h2>\n<p>Learn the fundamentals of <a target=\"_blank\" href=\"https:\/\/www.codeschool.com\/courses\/shaping-up-with-angular-js\" rel=\"noopener noreferrer\">AngularJS at CodeSchool<\/a>. It\u2019s a free course that is sponsored by Google. It <strong>teaches one how AngularJS can be used from many different angles<\/strong>. Don\u2019t forget to check out <a target=\"_blank\" href=\"https:\/\/www.youtube.com\/user\/angularjs\" rel=\"noopener noreferrer\">AngularJS\u2019 YouTube channel<\/a> where the developers themselves publish tutorials and news updates.<\/p>\n<p>But if you are more of <strong>a documentation sort of developer<\/strong>, you might want to check out the <a target=\"_blank\" href=\"https:\/\/docs.angularjs.org\/api\" rel=\"noopener noreferrer\">AngularJS API documentation<\/a>. For people who are proficient in JavaScript, this documentation should be easy enough to breeze through.<\/p>\n<p>You don\u2019t need to reinvent the wheel either as <strong>there are a lot of modules that you can use and improve<\/strong> at <a target=\"_blank\" href=\"http:\/\/ngmodules.org\/\" rel=\"noopener noreferrer\">ngmodules.org\u2019s repository<\/a>.<\/p>\n<p>If you have the funds and are serious about learning AngularJS, I highly recommend checking <a target=\"_blank\" href=\"https:\/\/www.angularcourse.com\/\" rel=\"noopener noreferrer nofollow\">AngularCourse.com<\/a> with its <strong>7 hour HD video<\/strong> <strong>course<\/strong> that will help you build a real-life product.<\/p>\n<p>Are you a redditor? If you are, you can check out <a target=\"_blank\" href=\"https:\/\/www.reddit.com\/\/r\/angularjs\/\" rel=\"noopener noreferrer\">\/r\/angularjs<\/a> for <strong>community discussion and support<\/strong>.<\/p>\n<h2>AngularJS In Action<\/h2>\n<h3>ngSweetAlert<\/h3>\n<p>It\u2019s a <a target=\"_blank\" href=\"https:\/\/github.com\/oitozero\/ngSweetAlert\" rel=\"noopener noreferrer\">very sweet replacement<\/a> for JavaScript\u2019s monotonous \u201cAlert\u201d.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg\" alt=\"\" height=\"384\" width=\"600\"><\/figure>\n<h3>Angular-nvD3 Charts<\/h3>\n<p>As previously mentioned, you can use AngularJS for simple to intermediate calculations. Using <a target=\"_blank\" href=\"https:\/\/krispo.github.io\/angular-nvd3\/\" rel=\"noopener noreferrer\">Angular-nvD3<\/a>, you can customize your charts according to your needs.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example2.jpg\" alt=\"\" height=\"328\" width=\"600\"><\/figure>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example3.gif\" alt=\"\" height=\"407\" width=\"349\"><\/figure>\n<h3>AngularJS Sliding and Word Search Puzzle<\/h3>\n<p>This <a target=\"_blank\" href=\"https:\/\/pdanis.github.io\/angular-puzzle\/\" rel=\"noopener noreferrer\">simple puzzle<\/a> shows how flexible and simple AngularJS is. Don\u2019t forget to fork it on <a target=\"_blank\" href=\"https:\/\/github.com\/pdanis\/angular-puzzle\" rel=\"noopener noreferrer\">GitHub<\/a> as well.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example4.jpg\" alt=\"\" height=\"298\" width=\"600\"><\/figure>\n<h3>2048 Game<\/h3>\n<p>Remember this game? It\u2019s <a rel=\"nofollow\" href=\"https:\/\/ng2048.github.io\/\">2048<\/a> and the number is nowhere to be seen because I don\u2019t want to get addicted again. The game has been remade using AngularJS. How cool is that?<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example5.jpg\" alt=\"\" height=\"417\" width=\"600\"><\/figure>\n<h2>Conclusion<\/h2>\n<p>AngularJS is <strong>a powerful framework that can help developers expedite development of web applications<\/strong>. The use of AngularJS is becoming more and more popular as the days go by, and I highly recommend hopping on the trend as there is a dynamic and helpful community out there waiting for you to join!<\/p>","protected":false},"excerpt":{"rendered":"<p>Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it\u2019s been around since 2009 since its creation by Misko Hevery, AngularJS has been gaining a lot of attention in the past couple of months. People are talking about it, developers&hellip;<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3392],"tags":[3313,4117],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Getting Started With AngularJS - Hongkiat<\/title>\n<meta name=\"description\" content=\"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it&#039;s been around since\" \/>\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.hongkiat.com\/blog\/angularjs-basic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started With AngularJS\" \/>\n<meta property=\"og:description\" content=\"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it&#039;s been around since\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-21T13:01:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T18:01:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg\" \/>\n<meta name=\"author\" content=\"Rean\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rean\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/\"},\"author\":{\"name\":\"Rean\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/9055cf045c2ed578773e8a4e184ba621\"},\"headline\":\"Getting Started With AngularJS\",\"datePublished\":\"2014-10-21T13:01:48+00:00\",\"dateModified\":\"2025-04-03T18:01:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/\"},\"wordCount\":1119,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/angularjs-basic\\\/angularjs-example1.jpg\",\"keywords\":[\"AngularJS\",\"Javascripts\"],\"articleSection\":[\"Coding\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/\",\"name\":\"Getting Started With AngularJS - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/angularjs-basic\\\/angularjs-example1.jpg\",\"datePublished\":\"2014-10-21T13:01:48+00:00\",\"dateModified\":\"2025-04-03T18:01:14+00:00\",\"description\":\"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it's been around since\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/angularjs-basic\\\/angularjs-example1.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/angularjs-basic\\\/angularjs-example1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/angularjs-basic\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting Started With AngularJS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/9055cf045c2ed578773e8a4e184ba621\",\"name\":\"Rean\",\"description\":\"Rean is an operations specialist, growth hacker, and a consultant specializing in remote team setup and management.\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/rean\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Getting Started With AngularJS - Hongkiat","description":"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it's been around since","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.hongkiat.com\/blog\/angularjs-basic\/","og_locale":"en_US","og_type":"article","og_title":"Getting Started With AngularJS","og_description":"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it's been around since","og_url":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2014-10-21T13:01:48+00:00","article_modified_time":"2025-04-03T18:01:14+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg","type":"","width":"","height":""}],"author":"Rean","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Rean","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/"},"author":{"name":"Rean","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/9055cf045c2ed578773e8a4e184ba621"},"headline":"Getting Started With AngularJS","datePublished":"2014-10-21T13:01:48+00:00","dateModified":"2025-04-03T18:01:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/"},"wordCount":1119,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg","keywords":["AngularJS","Javascripts"],"articleSection":["Coding"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/","url":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/","name":"Getting Started With AngularJS - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg","datePublished":"2014-10-21T13:01:48+00:00","dateModified":"2025-04-03T18:01:14+00:00","description":"Every once in a while a new tool arises and just as it suddenly appeared, it seeps down into oblivion. Not AngularJS though. While it's been around since","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/angularjs-basic\/angularjs-example1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/angularjs-basic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting Started With AngularJS"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/9055cf045c2ed578773e8a4e184ba621","name":"Rean","description":"Rean is an operations specialist, growth hacker, and a consultant specializing in remote team setup and management.","url":"https:\/\/www.hongkiat.com\/blog\/author\/rean\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-5MO","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/22246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=22246"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/22246\/revisions"}],"predecessor-version":[{"id":73715,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/22246\/revisions\/73715"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=22246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=22246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=22246"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=22246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}