{"id":5722,"date":"2015-07-07T16:15:34","date_gmt":"2015-07-07T13:15:34","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=5722"},"modified":"2017-12-19T16:43:08","modified_gmt":"2017-12-19T14:43:08","slug":"end-end-angularjs-guide","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/","title":{"rendered":"An End-to-End AngularJS Guide"},"content":{"rendered":"<p>This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about <a href=\"http:\/\/angularjs.org\/\" target=\"_blank\">Angular<\/a> since it was in beta and have lots of material I believe is useful for developers with all levels of experience.<\/p>\n<p>Instead of forcing you to search haphazardly, this blog post organizes the content so you can jump directly to the post that you need.<\/p>\n<p>The links have been organized into the following sections:<\/p>\n<ul>\n<li>Background<\/li>\n<li>Essentials<\/li>\n<li>Advanced Topics<\/li>\n<li>Testing<\/li>\n<li>Examples<\/li>\n<li>Best Practices<\/li>\n<li>Modernizing Apps<\/li>\n<\/ul>\n<p>I was very surprised when I started the task of organizing this content to see just how much there is. I hope you find this useful and welcome any and all comments and feedback.<br \/>\n&nbsp;<br \/>\n[ulp id=&#8217;LXJcMJZXSsqGXYW8&#8242;]<\/p>\n<h2>Background (What and Why?)<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/10\/a-different-angle-what-is-angularjs.html\" target=\"_blank\">A Different Angle: What is AngularJS?<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2013\/09\/10-reasons-web-developers-should-learn.html\" target=\"_blank\">10 Reasons Web Developers Should Learn AngularJS<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/02\/video-angular-and-net-world.html\" target=\"_blank\">Video: Angular and the .NET World<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2015\/04\/single-page-applications-spa-your.html\" target=\"_blank\">Single Page Applications (SPA): Your Browser is the OS<\/a><\/p>\n<p>(Paid Video Curse): <a href=\"https:\/\/wintellectnow.com\/Videos\/Watch?videoId=fundamentals-of-angularjs\" target=\"_blank\">Fundamentals of AngularJS<\/a><\/p>\n<h2>Essentials<\/h2>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-project-essentials\/\" target=\"_blank\">AngularJS Project Essentials<\/a><\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/understanding-providers-services-and-factories-in-angular\/\" target=\"_blank\">Understanding Providers, Factories, and Services in Angular<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2015\/05\/understanding-angularjs-isolated-scope.html\" target=\"_blank\">Understanding AngularJS Isolated Scope<\/a><\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/dependency-injection-explained-via-javascript\/\" target=\"_blank\">Dependency Injection Explained via JavaScript<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/08\/no-need-to-watch-angularjs-controller-as.html\" target=\"_blank\">No Need to $watch AngularJS \u201cController As\u201d<\/a><\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/using-angularjs-to-extend-your-code-quality\/\" target=\"_blank\">Using AngularJS to extend Your Code Quality<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/10\/angularjs-tip-using-filter-with-ngclass.html\" target=\"_blank\">Quick Tip: Using a Filter with ngClass<\/a><\/p>\n<h2>Advanced Topics<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/08\/angularjs-lifetime-management-lazy.html\" target=\"_blank\">AngularJS Lifetime Management, Lazy-Loading, and other Advanced Dependency Injection Techniques<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/07\/angularjs-debugging-and-performance.html\" target=\"_blank\">AngularJS Debugging and Performance<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/01\/interception-using-decorator-and-lazy.html\" target=\"_blank\">Interception using Decorator and Lazy-Loading<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/02\/use-zone-to-trigger-angular-digest-loop.html\" target=\"_blank\">Using Zone to Trigger Digest Loop for External Functions<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/02\/instrumenting-angular-with-zone.html\" target=\"_blank\">Instrumenting Angular with ZoneJS<\/a><\/p>\n<h2>Testing<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2015\/04\/im-not-mocking-you-just-your-angularjs.html\" target=\"_blank\">I\u2019m not Mocking You, Just Your AngularJS Tests<\/a><\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/angularjs-integration-tests-mocks-magic\/\" target=\"_blank\">AngularJS Integration Tests with Mocks and Magic<\/a><\/p>\n<h2>Examples<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/10\/lets-build-angularjs-app.html\" target=\"_blank\">Let\u2019s Build an AngularJS App!<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/07\/angularjs-quick-tip-counting-watches.html\" target=\"_blank\">Quick Tip: Counting Watches<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2015\/02\/generate-mazes-in-angularjs-with-8-bit.html\" target=\"_blank\">Generate Mazes in AngularJS with 8-bit Algorithms<\/a><\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/real-time-communication-angularjs-qorlate\/\" target=\"_blank\">Real-time Communication in AngularJS with ($Q)orlate<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/04\/video-javascript-feed-reader-in-under.html\" target=\"_blank\">Build a JavaScript Feed Reader in Under 10 Minutes with AngularJS<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/04\/learn-angular-js-explained-with-answers.html\" target=\"_blank\">AngularJS Explained with Answers, Videos, and JsFiddles<\/a><\/p>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2013\/08\/commodore-64-meets-angularjs-and_4055.html\" target=\"_blank\">Commodore 64 Meets AngularJS and TypeScript<\/a><\/p>\n<h2>Best Practices<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/11\/the-top-5-mistakes-angularjs-developers.html\" target=\"_blank\">The Top 5 Mistakes AngularJS Developers Make (5 Part Series)<\/a><\/p>\n<ul>\n<li><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/11\/the-top-5-mistakes-angularjs-developers.html\" target=\"_blank\">Relying on $scope<\/a><\/li>\n<li><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/top-5-mistakes-angularjs-developers-make-part-2-abusing-watch\/\" target=\"_blank\">Abusing $watch<\/a><\/li>\n<li><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/top-5-mistakes-angularjs-developers-make-part-3-overusing-broadcast-emit\/\" target=\"_blank\">Overusing $broadcast and $emit<\/a><\/li>\n<li><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/top-5-mistakes-angularjs-developers-make-part-4-hacking-dom\/\" target=\"_blank\">Hacking the DOM<\/a><\/li>\n<li><a href=\"http:\/\/www.webcodegeeks.com\/javascript\/angular-js\/top-5-mistakes-angularjs-developers-make-part-5-failing-test\/\" target=\"_blank\">Failing to Test<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/09\/revisiting-angularjs-with-typescript.html\" target=\"_blank\">Revisiting AngularJS with TypeScript<\/a><\/p>\n<h2>Modernizing Apps (Such as Silverlight)<\/h2>\n<p><a href=\"http:\/\/csharperimage.jeremylikness.com\/2014\/03\/angular-modern-html5-answer-to.html\" target=\"_blank\">AngularJS: The Modern HTML5 Answer to Silverlight\u2019s MVVM<\/a><\/p>\n<p>Feel free to comment with your favorite links on other sites and blogs as well.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/csharperimage.jeremylikness.com\/2015\/06\/an-end-to-end-angularjs-guide.html\">An End-to-End AngularJS Guide<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/wcg\/\">WCG partner<\/a> Jeremy Likness at the <a href=\"http:\/\/csharperimage.jeremylikness.com\/\">C#er : IMage<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is useful for developers with all levels of experience. Instead of forcing you to search haphazardly, this blog post organizes the content so you can jump directly &hellip;<\/p>\n","protected":false},"author":40,"featured_media":909,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-5722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>An End-to-End AngularJS Guide - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is\" \/>\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\/end-end-angularjs-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An End-to-End AngularJS Guide - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\" \/>\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=\"2015-07-07T13:15:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-19T14:43:08+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=\"Jeremy Likness\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/jeremylikness\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Likness\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 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\/end-end-angularjs-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\"},\"author\":{\"name\":\"Jeremy Likness\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/2cd31c082e3e1cc5f595ba18a6e03a43\"},\"headline\":\"An End-to-End AngularJS Guide\",\"datePublished\":\"2015-07-07T13:15:34+00:00\",\"dateModified\":\"2017-12-19T14:43:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\"},\"wordCount\":375,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"articleSection\":[\"Angular.js\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\",\"name\":\"An End-to-End AngularJS Guide - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg\",\"datePublished\":\"2015-07-07T13:15:34+00:00\",\"dateModified\":\"2017-12-19T14:43:08+00:00\",\"description\":\"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#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\/end-end-angularjs-guide\/#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\":\"An End-to-End AngularJS Guide\"}]},{\"@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\/2cd31c082e3e1cc5f595ba18a6e03a43\",\"name\":\"Jeremy Likness\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4d8ee78925818e3f7a4d0d82df06d34a2b76aa4d260a1f4b67dc0553efbf1b6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4d8ee78925818e3f7a4d0d82df06d34a2b76aa4d260a1f4b67dc0553efbf1b6?s=96&d=mm&r=g\",\"caption\":\"Jeremy Likness\"},\"description\":\"Jeremy Likness is a principal architect at iVision, Inc. He has been building enterprise applications using the Microsoft stack for 20 years with a focus on web-based solutions for the past 15. A prolific author and speaker, Jeremy's mission is to empower developers to create success in their careers through learning and growth.\",\"sameAs\":[\"http:\/\/csharperimage.jeremylikness.com\/\",\"http:\/\/linkedin.com\/in\/jeremylikness\",\"https:\/\/x.com\/https:\/\/twitter.com\/jeremylikness\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/jeremy-likness\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An End-to-End AngularJS Guide - Web Code Geeks - 2026","description":"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is","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\/end-end-angularjs-guide\/","og_locale":"en_US","og_type":"article","og_title":"An End-to-End AngularJS Guide - Web Code Geeks - 2026","og_description":"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2015-07-07T13:15:34+00:00","article_modified_time":"2017-12-19T14:43:08+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":"Jeremy Likness","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/jeremylikness","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Jeremy Likness","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/"},"author":{"name":"Jeremy Likness","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/2cd31c082e3e1cc5f595ba18a6e03a43"},"headline":"An End-to-End AngularJS Guide","datePublished":"2015-07-07T13:15:34+00:00","dateModified":"2017-12-19T14:43:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/"},"wordCount":375,"commentCount":3,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","articleSection":["Angular.js"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/","name":"An End-to-End AngularJS Guide - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/angularjs-logo.jpg","datePublished":"2015-07-07T13:15:34+00:00","dateModified":"2017-12-19T14:43:08+00:00","description":"This isn\u2019t a new eBook, a paperback or an online tutorial. I\u2019ve been writing about Angular since it was in beta and have lots of material I believe is","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/angular-js\/end-end-angularjs-guide\/#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\/end-end-angularjs-guide\/#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":"An End-to-End AngularJS Guide"}]},{"@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\/2cd31c082e3e1cc5f595ba18a6e03a43","name":"Jeremy Likness","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b4d8ee78925818e3f7a4d0d82df06d34a2b76aa4d260a1f4b67dc0553efbf1b6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4d8ee78925818e3f7a4d0d82df06d34a2b76aa4d260a1f4b67dc0553efbf1b6?s=96&d=mm&r=g","caption":"Jeremy Likness"},"description":"Jeremy Likness is a principal architect at iVision, Inc. He has been building enterprise applications using the Microsoft stack for 20 years with a focus on web-based solutions for the past 15. A prolific author and speaker, Jeremy's mission is to empower developers to create success in their careers through learning and growth.","sameAs":["http:\/\/csharperimage.jeremylikness.com\/","http:\/\/linkedin.com\/in\/jeremylikness","https:\/\/x.com\/https:\/\/twitter.com\/jeremylikness"],"url":"https:\/\/www.webcodegeeks.com\/author\/jeremy-likness\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/5722","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\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=5722"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/5722\/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=5722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=5722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=5722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}