{"id":48088,"date":"2018-01-30T04:09:49","date_gmt":"2018-01-29T22:39:49","guid":{"rendered":"http:\/\/blog.odango.com\/?p=48088"},"modified":"2023-02-03T17:43:47","modified_gmt":"2023-02-03T12:13:47","slug":"angularjs-interview-questions-and-answers","status":"publish","type":"post","link":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/","title":{"rendered":"AngularJS Interview Questions and Answers"},"content":{"rendered":"\n[et_pb_section bb_built=&#8221;1&#8243; next_background_color=&#8221;#000000&#8243;][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_post_title _builder_version=&#8221;3.0.106&#8243; title=&#8221;on&#8221; meta=&#8221;off&#8221; author=&#8221;on&#8221; date=&#8221;on&#8221; categories=&#8221;on&#8221; comments=&#8221;on&#8221; featured_image=&#8221;off&#8221; featured_placement=&#8221;below&#8221; text_color=&#8221;dark&#8221; text_background=&#8221;off&#8221; title_font=&#8221;Titillium Web||||||||&#8221; title_font_size=&#8221;47&#8243; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221; title_text_color=&#8221;rgba(0,0,0,0.8)&#8221; title_text_align=&#8221;left&#8221; text_shadow_horizontal_length=&#8221;0.08em&#8221; text_shadow_vertical_length=&#8221;0.08em&#8221; text_shadow_blur_strength=&#8221;0.08em&#8221; title_text_shadow_horizontal_length=&#8221;0.08em&#8221; title_text_shadow_vertical_length=&#8221;0.08em&#8221; custom_margin=&#8221;|||10%&#8221; \/][\/et_pb_column][\/et_pb_row][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_text _builder_version=&#8221;3.0.106&#8243; background_layout=&#8221;light&#8221; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|desktop&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\n<strong>1) What is AngularJS?\r\nAns:<\/strong>\u00a0AngularJS is an open-source JavaScript framework developed by Google. It helps you to create single-page applications or one-page web applications that only require HTML, CSS, and JavaScript on the client side. It is based on MV-* pattern and allow you to build well structured, easily testable, and maintainable front-end applications.\r\nAngularJS has changed the way to web development. It is not based on jQuery to perform its operations. In spite of using ASP.NET Web form, ASP.NET MVC, PHP, JSP, Ruby on Rails for web development, you can do your complete web development by using most powerful and adaptive JavaScript Framework AngularJS. There is no doubt, JavaScript frameworks like AngularJS, Ember etc. are the future of web development.\r\n\r\n<hr \/>\r\n\r\n<strong>2) Why use AngularJS?\r\nAns:<\/strong>\u00a0There are following reasons to choose AngularJS as a web development framework:\r\n\r\nIt is based on MVC pattern which helps you to organize your web apps or web application properly.\r\nIt extends HTML by attaching directives to your HTML markup with new attributes or tags and expressions in order to define very powerful templates.\r\nIt also allows you to create your own directives, making reusable components that fill your needs and abstract your DOM manipulation logic.\r\nIt supports two-way data binding i.e. connects your HTML (views) to your JavaScript objects (models) seamlessly. In this way, any change in the model will update the view and vice versa without any DOM manipulation or event handling.\r\nIt encapsulates the behavior of your application in controllers which are instantiated with the help of dependency injection.\r\nIt supports services that can be injected into your controllers to use some utility code to fulfill your need.\r\nFor example, it provides $http service to communicate with REST service.\r\n\r\nIt supports dependency injection which helps you to test your angular app code very easily.\r\nAlso, AngularJS is a mature community to help you. It has wide support over the internet.\r\n\r\n<hr \/>\r\n\r\n<strong>3) Why is this project called &#8220;AngularJS&#8221;?\r\nAns:<\/strong>\u00a0Html has angle brackets i.e. &lt;,&gt; and ng sound like Angular. That\u2019s why it is called AngularJS.\r\n\r\n<hr \/>\r\n\r\n<strong>4) What are the advantages of AngularJS?\r\nAns:\u00a0<\/strong>There are following advantages of AngularJS:\r\n\r\n<strong>Data Binding &#8211;\u00a0<\/strong>AngularJS provides a powerful data binding mechanism to bind data to HTML elements by using the scope.\r\n<strong>Customize &amp; Extensible &#8211;<\/strong>\u00a0AngularJS is customized and extensible as per your requirement. You can create your own custom components like directives, services etc.\r\n<strong>Code Reusability &#8211;\u00a0<\/strong>AngularJS allows you to write code which can be reused. For example, a custom directive which you can reuse.\r\n<strong>Support \u2013<\/strong>\u00a0AngularJS is a mature community to help you. It has wide support over the internet. Also, AngularJS is supported by Google which gives it an advantage.\r\n<strong>Compatibility &#8211;<\/strong>\u00a0AngularJS is based on JavaScript which makes it easier to integrate with any other JavaScript library and runnable on browsers like IE, Opera, FF, Safari, Chrome etc.\r\n<strong>Testing &#8211;<\/strong>\u00a0AngularJS is designed to be testable so that you can test your AngularJS app components as easy as possible. It has dependency injection at its core, which makes it easy to test.\r\n\r\n<hr \/>\r\n\r\n<strong>5) How is AngularJS different from other JavaScript Framework?\r\nAns:<\/strong>\u00a0Today, AngularJS is the most popular and dominant JavaScript framework for professional web development. It is well suited for small, large and any sized web app and web application.\r\n\r\nAngularJS is different from other JavaScript framework in following ways:\r\n\r\nAngularJS mark-up lives in the DOM.\r\nAngularJS uses plain old JavaScript objects (POJO).\r\nAngularJS is leveraged with Dependency Injection.\r\n\r\n<hr \/>\r\n\r\n<strong>6) What IDEs can you use for AngularJS development?\r\nAns:<\/strong>\u00a0AngularJS development can be done with the help of following IDEs:\r\n\r\nVisual Studio 2012, 2013, 2015 or higher\r\nEclipse\r\nWebStorm\r\nSublime Text\r\nTextMate\r\n\r\n<hr \/>\r\n\r\n<strong>7) Does AngularJS\u00a0<\/strong><strong>has<\/strong><strong>\u00a0<\/strong><strong>dependency<\/strong><strong>\u00a0on jQuery?\r\nAns:<\/strong>\u00a0AngularJS has no dependency on jQuery library. But it can be used with jQuery library.\r\n\r\n<hr \/>\r\n\r\n<strong>8) How to use jQuery with AngularJS?\r\nAns:<\/strong>\u00a0By default AngularJS use jQLite which is the subset of jQuery. If you want to use jQuery then simply load the jQuery library before loading the AngularJS. By doing so, Angular will skip jQLite and will\u00a0start to use jQuery library.\r\n\r\n<hr \/>\r\n\r\n<strong>9)Compare the features of AngularJS and jQuery?\r\nAns:<\/strong>\u00a0The comparison of AngularJS and jQuery features are given below:\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td><strong>Features<\/strong><\/td>\r\n<td><strong>jQuery<\/strong><\/td>\r\n<td><strong>AngularJS<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Abstract The DOM<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Animation Support<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>AJAX\/JSONP<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Cross Module Communication<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Deferred Promises<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Form Validation<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Integration Test Runner<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Unit Test Runner<\/td>\r\n<td>Y<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Localization<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>MVC Pattern<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Template<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Two-way Binding<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>One-way Binding<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Dependency Injection<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Routing<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Restful API<\/td>\r\n<td>N<\/td>\r\n<td>Y<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n<hr \/>\r\n\r\n<strong>10) What is jQLite or jQuery lite?\r\nAns:<\/strong>\u00a0jQLite is a subset of jQuery that is built directly into AngularJS. jQLite provides you all the useful features of jQuery. In fact it provides you limited features or functions of jQuery.\r\n\r\nHere is a table of supported jQuery methods by jQLite.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td><strong>jQuery Method<\/strong><\/td>\r\n<td><strong>Limitation, if any<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>addClass()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>after()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>append()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>attr()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td>bind()<\/td>\r\n<td>Does not support namespace, selectors and eventData<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>children<\/td>\r\n<td>Does not support selectors<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>clone()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>contents()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>css()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>data()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>detach()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>empty()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>eq()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>find()<\/td>\r\n<td>Limited to lookups by tag name<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>hasClass()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>html()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>text()<\/td>\r\n<td>Does not support selectors<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>on()<\/td>\r\n<td>Does not support namespace, selectors and eventData<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>off()<\/td>\r\n<td>Does not support namespace, selectors<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>one()<\/td>\r\n<td>Does not support namespace, selectors<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>parent()<\/td>\r\n<td>Does not support selectors<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>prepend()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>prop<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>ready()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>remove<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>removeAttr()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>removeClass()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>removeData()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>replaceWith()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>toggleClass()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>triggerHandler()<\/td>\r\n<td>Passes a dummy event object to handlers<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>unbind()<\/td>\r\n<td>Does not support namespace<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>val()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>wrap()<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n<hr \/>\r\n\r\n<strong>11) How to access jQLite or jQuery with AngularJS? (OR)<\/strong>\r\n\r\n<strong>What is angular.element() in AngularJS?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0jQuery lite or the full jQuery library if available, can be accessed via the AngularJS code by using the element() function in AngularJS. Basically, angular.element() is an alias for the jQuery function\r\n\r\ni.e; angular.element() === jQuery() === $()\r\n\r\n<strong>For Example:<\/strong>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>\r\n<div>\r\n\r\n&lt;html&gt;\r\n\r\n&lt;head&gt;\r\n\r\n&lt;script\u00a0src=&#8221;lib\/angular.js&#8221;&gt;script&gt;\r\n\r\n&lt;script\u00a0type=&#8221;text\/javascript&#8221;&gt;\r\n\r\nvar\u00a0app = angular.module(&#8216;app&#8217;, []); app.controller(&#8220;mainCtrl&#8221;,\u00a0function\u00a0($scope, $element) {\r\n\r\n$scope.clickme =\u00a0function(){\u00a0var\u00a0elem = angular.element(document.querySelector(&#8216;#txtName&#8217;));\r\n\r\nconsole.log(elem.val())\/\/ console the value of textbox\r\n\r\n};\r\n\r\n});\r\n\r\nscript&gt;\r\n\r\nhead&gt;\r\n\r\n&lt;body\u00a0ng-app=&#8221;app&#8221;&gt;\r\n\r\n&lt;div\u00a0ng-controller=&#8221;mainCtrl&#8221;&gt;\r\n\r\n&lt;input\u00a0type=&#8221;text&#8221;\u00a0id=&#8221;txtName&#8221;\u00a0value=&#8221;Shailendra Chauhan&#8221; \/&gt;\r\n\r\n&lt;button\u00a0type=&#8221;button&#8221;\u00a0ng-click=&#8221;clickme()&#8221;&gt;Click mebutton&gt;\r\n\r\ndiv&gt;\r\n\r\nbody&gt;\r\n\r\nhtml&gt;\r\n\r\n<\/div><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table align=\"left\">\r\n<tbody>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td>\r\n<div><input type=\"text\" value=\"Shailendra Chauhan\" \/>Click me<\/div><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<div>\r\n\r\nWhen you will click on the\u00a0<em>Click me\u00a0<\/em>button, the value of textbox will be logged on console as given below:\r\n\r\n<\/div>\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;on&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-120.png&#8221; \/][et_pb_text _builder_version=&#8221;3.0.106&#8243; background_layout=&#8221;light&#8221; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|desktop&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\n<strong>12) Is AngularJS a library, framework, plugin or a browser extension?\r\nAns:<\/strong>\u00a0AngularJS is a first-class JavaScript framework which allows you to build well structured, easily testable, \u00a0and maintainable front-end applications. It is not a library since library provides you limited functionality or has dependencies to other libraries.\r\nIt is not a plugin or browser extension since it is based on JavaScript and compatible with both desktop and mobile browsers.\r\n\r\n<hr \/>\r\n\r\n<strong>13) What browsers does AngularJS support?\r\nAns:<\/strong>\u00a0The latest version of AngularJS 1.3 support Safari, Chrome, Firefox, Opera 15+, IE9+ and mobile browsers (Android, Chrome Mobile, iOS Safari, Opera Mobile).\r\nAngularJS 1.3 has dropped support for IE8 but AngularJS 1.2 will continue to support IE8.\r\n\r\n<hr \/>\r\n\r\n<strong>14) What is the size of an\u00a0<\/strong><strong>angular.js<\/strong><strong>\u00a0file?\r\nAns:\u00a0<\/strong>The size of the compressed and minified file is &lt; 36KB.\r\n\r\n<hr \/>\r\n\r\n<strong>15) What are AngularJS features?\r\nAns:<\/strong>\u00a0The features of AngularJS are listed below:\r\n1.\u00a0\u00a0 \u00a0Modules\r\n2.\u00a0\u00a0 \u00a0Directives\r\n3.\u00a0\u00a0 \u00a0Templates\r\n4.\u00a0\u00a0 \u00a0Scope\r\n5.\u00a0\u00a0 \u00a0Expressions\r\n6.\u00a0\u00a0 \u00a0Data Binding\r\n7.\u00a0\u00a0 \u00a0MVC (Model, View &amp; Controller)\r\n8.\u00a0\u00a0 \u00a0Validations\r\n9.\u00a0\u00a0 \u00a0Filters\r\n10.\u00a0\u00a0 \u00a0Services\r\n11.\u00a0\u00a0 \u00a0Routing\r\n12.\u00a0\u00a0 \u00a0Dependency Injection\r\n13.\u00a0\u00a0 \u00a0Testing\r\n\r\n<hr \/>\r\n\r\n<strong>16) How AngularJS handle the security?\r\nAns:<\/strong>\u00a0AngularJS provide following built-in protection from basic security holes:\r\n1.\u00a0\u00a0 \u00a0Prevent HTML injection attacks.\r\n2.\u00a0\u00a0 \u00a0Prevent Cross-Site-Scripting (CSS) attacks.\r\n3.\u00a0\u00a0 \u00a0Prevent XSRF protection for server-side communication.\r\n\r\nAlso, AngularJS is designed to be compatible with other security measures like Content Security Policy (CSP), HTTPS (SSL\/TLS) and server-side authentication and authorization that greatly reduce the possible attacks.\r\n\r\n<hr \/>\r\n\r\n<strong>17) Is AngularJS a library, framework, plugin or a browser extension?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>AngularJS is a first class JavaScript framework which allows you to build well structured, easily testable,\u00a0 and maintainable front-end applications. It is not a library since library provides you limited functionality or has dependencies to other libraries.\r\n\r\nIt is not a plugin or browser extension since it is based on JavaScript and compatible with both desktop and mobile browsers.\r\n\r\n<hr \/>\r\n\r\n<strong>18) What browsers AngularJS support?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0The latest version of AngularJS 1.3 support Safari, Chrome, Firefox, Opera 15+, IE9+ and mobile browsers (Android, Chrome Mobile, iOS Safari, Opera Mobile).\r\n\r\nAngularJS 1.3 has dropped support for IE8 but AngularJS 1.2 will continue to support IE8.\r\n\r\n<hr \/>\r\n\r\n<strong>19) What is the size of angular.js file?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>The size of the compressed and minified file is &lt; 36KB.\r\n\r\n<hr \/>\r\n\r\n<strong>20) What are AngularJS features?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0The features of AngularJS are listed below:\r\n<ol>\r\n \t<li>Modules<\/li>\r\n \t<li>Directives<\/li>\r\n \t<li>Templates<\/li>\r\n \t<li>Scope<\/li>\r\n \t<li>Expressions<\/li>\r\n \t<li>Data Binding<\/li>\r\n \t<li>MVC (Model, View &amp; Controller)<\/li>\r\n \t<li>Validations<\/li>\r\n \t<li>Filters<\/li>\r\n \t<li>Services<\/li>\r\n \t<li>Routing<\/li>\r\n \t<li>Dependency Injection<\/li>\r\n \t<li>Testing<\/li>\r\n<\/ol>\r\n\r\n<hr \/>\r\n\r\n<strong>21) How AngularJS handle the security?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>AngularJS provide following built-in protection from basic security holes:\r\n<ol>\r\n \t<li>Prevent HTML injection attacks.<\/li>\r\n \t<li>Prevent Cross-Site-Scripting (CSS) attacks.<\/li>\r\n \t<li>Prevent XSRF protection for server side communication.<\/li>\r\n<\/ol>\r\nAlso, AngularJS is designed to be compatible with other security measures like Content Security Policy (CSP), HTTPS (SSL\/TLS) and server-side authentication and authorization that greatly reduce the possible attacks.\r\n\r\n<hr \/>\r\n\r\n<strong>22) What are Modules in AngularJS?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>AngularJS modules are containers just like namespace in C#. They divide an angular app into small,\u00a0 reusable and functional components which can be integrated with other angular app. Each module is identified by a unique name and can be dependent on other modules. In AngularJS, every web page (view) can have a single module assigned to it via ng-app directive.\r\n\r\nCreating an AngularJS module\r\n\r\n&lt;script\u00a0type=&#8221;text\/javascript&#8221;&gt;\r\n\r\n\/\/ defining module\u00a0angular.module(&#8216;myApp&#8217;, []);\r\n\r\n\/\/OR defining module which has dependency on other modules\u00a0angular.module(&#8216;myApp&#8217;, [&#8216;dependentModule1&#8217;,\u00a0&#8216;dependentModule2&#8217;]);\r\n\r\nscript&gt;\r\n\r\nUsing an AngularJS module into your app\r\n\r\nYou can bootstrap your app by using your AngularJS module as given below:\r\n\r\n&lt;html\u00a0ng-app=&#8221;myApp&#8221;&gt;\r\n\r\n&lt;head&gt;\r\n\r\n&#8230;\r\n\r\nhead&gt;\r\n\r\n&lt;body&gt;\r\n\r\n&#8230;\r\n\r\nbody&gt;\r\n\r\n<hr \/>\r\n\r\n<strong>23)\u00a0 What is core module in AngularJS?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0ng is the core module in angular. This module is loaded by default when an angular app is started. This module provides the essential components for your angular app like directives, services\/factories, filters, global APIs and testing components.\r\n\r\n<hr \/>\r\n\r\n<strong>24) How angular modules load the dependencies?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0An angular module use configuration and run blocks to inject dependencies (like providers, services and constants) which get applied to the angular app during the bootstrap process.\r\n\r\n<hr \/>\r\n\r\n<h4><strong>25) What is difference between config() and run() method in AngularJS?<\/strong><\/h4>\r\n<strong>Ans:<\/strong><em>Configuration block\u00a0<\/em>\u2013 This block is executed during the provider registration and configuration phase.\u00a0 Only providers and constants can be injected into configuration blocks. This block is used to inject module wise configuration settings to prevent accidental instantiation of services before they have been fully configured. This block is created using config() method\r\n\r\nangular.module(&#8216;myModule&#8217;, []).\r\n\r\nconfig(function\u00a0(injectables) {\u00a0\/\/ provider-injector\r\n\r\n\/\/ This is an example of config block.\r\n\r\n\/\/ You can have as many of these as you want.\r\n\r\n\/\/ You can only inject Providers (not instances)\r\n\r\n\/\/ into config blocks.\r\n\r\n}).\r\n\r\nrun(function\u00a0(injectables) {\u00a0\/\/ instance-injector\r\n\r\n\/\/ This is an example of a run block.\r\n\r\n\/\/ You can have as many of these as you want.\r\n\r\n\/\/ You can only inject instances (not Providers)\r\n\r\n\/\/ into run blocks\r\n\r\n});\r\n\r\n<em>Run block\u00a0<\/em>\u2013 This block is executed after the configuration block. It is used to inject instances and constants. This block is created using run() method. This method is like as main method in C or C++.\r\n\r\nThe run block is a great place to put event handlers that need to be executed at the root level for the application.\r\n\r\nFor example, authentication handlers.\r\n\r\n<hr \/>\r\n\r\n<strong>26) When dependent modules of a module are loaded?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0A module might have dependencies on other modules. The dependent modules are loaded by angular before the requiring module is loaded.\r\n\r\nIn other words the configuration blocks of the dependent modules execute before the configuration blocks of the requiring module. The same is true for the run blocks. Each module can only be loaded once, even if multiple other modules require it.\r\n\r\n<hr \/>\r\n\r\n<strong>27) What is Global API?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0Global API provides you global functions to perform common JavaScript tasks such as comparing objects, deep copying, iterating through objects, and converting JSON data etc. All global functions can be accessed by using the angular object.\r\n\r\n<hr \/>\r\n\r\n<h4><strong>28) What is Angular Prefixes $ and $$?<\/strong><\/h4>\r\n<strong>Ans:\u00a0<\/strong>To prevent accidental name collisions with your code, Angular prefixes names of public objects with $ and names of private objects with $$. So, do not use the $ or $$ prefix in your code.\r\n\r\n<hr \/>\r\n\r\n<strong>29) What are Filters in AngularJS?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>Filters are used to format data before displaying it to the user. They can be used in view templates, controllers, services and directives. There are some built-in filters provided by AngularJS like as Currency, Date, Number, OrderBy, Lowercase, Uppercase etc. You can also create your own filters.\r\n\r\n<em>Filter Syntax:<\/em>\r\n\r\n{{ expression | filter}}\r\n\r\n<em>Filter Example:<\/em>\r\n\r\n&lt;script\u00a0type=&#8221;text\/javascript&#8221;&gt;\r\n\r\n{ { 14 | currency } }\u00a0\/\/returns $14.00\r\n\r\nscript&gt;\r\n\r\n<hr \/>\r\n\r\n<strong>30) What are Expressions in AngularJS?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0AngularJS expressions are much like JavaScript expressions, placed inside HTML templates by using double braces such as: {{expression}}. AngularJS evaluates expressions and then dynamically adds the result to a web page. Like JavaScript expressions, they can contain literals, operators, and variables.\r\n\r\nThere are some valid AngularJS expressions:\r\n<ul>\r\n \t<li>{{ 1 + 2 }}<\/li>\r\n \t<li>{{ x + y }}<\/li>\r\n \t<li>{{ x == y }}<\/li>\r\n \t<li>{{ x = 2 }}<\/li>\r\n \t<li>{{ user.Id }}<\/li>\r\n<\/ul>\r\n\r\n<hr \/>\r\n\r\n<h4><strong>31) How AngularJS expressions are different from the JavaScript expressions?<\/strong><\/h4>\r\n<strong>Ans:<\/strong>\u00a0AngularJS expressions are much like JavaScript expressions but they are different from JavaScript expressions in the following ways:\r\n<ul>\r\n \t<li>Angular expressions can be added inside the HTML templates.<\/li>\r\n \t<li>Angular expressions doesn&#8217;t support control flow statements (conditionals, loops, or exceptions).<\/li>\r\n \t<li>Angular expressions support filters to format data before displaying it.<\/li>\r\n<\/ul>\r\n\r\n<hr \/>\r\n\r\n<strong>32) What are Directives in AngularJS?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0AngularJS directives are a combination of AngularJS template markups (HTML attributes or elements, or CSS classes) and supporting JavaScript code. The JavaScript directive code defines the template data and behaviors of the HTML elements.\r\n\r\nAngularJS directives are used to extend the HTML vocabulary i.e. they decorate html elements with new behaviors and help to manipulate html elements attributes in interesting way.\r\n\r\nThere are some built-in directives provided by AngularJS like as ng-app, ng-controller, ng-repeat, ng-model etc.\r\n\r\n<hr \/>\r\n\r\n<strong>33) What is the role of ng-app, ng-init and ng-model directives?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>The main role of these directives is explained as:\r\n<ul>\r\n \t<li>ng-app &#8211; Initialize the angular app.<\/li>\r\n \t<li>ng-init &#8211; Initialize the angular app data.<\/li>\r\n \t<li>ng-model &#8211; Bind the html elements like input, select, text area to angular app model.<\/li>\r\n<\/ul>\r\n\r\n<hr \/>\r\n\r\n<strong>34) How to create custom directives in AngularJS?<\/strong>\r\n<h4><strong>Ans:\u00a0<\/strong>You can create your own custom directive by using following syntax:<\/h4>\r\nvar\u00a0app = angular.module(&#8216;app&#8217;, []);\r\n\r\n\/\/creating custom directive syntax\r\n\r\napp.directive(&#8220;myDir&#8221;,\u00a0function\u00a0() {\r\n\r\nreturn\u00a0{\r\n\r\nrestrict:\u00a0&#8220;E&#8221;,\u00a0\/\/define directive type like E = element, A = attribute,\r\n\r\nC = class, M = comment\r\n\r\nscope: {\u00a0\/\/create a new child scope or an isolate scope\r\n\r\ntitle:\u00a0&#8216;@&#8217;\u00a0\/\/@ reads the attribute value,\r\n\r\n\/\/= provides two-way binding,\r\n\r\n\/\/&amp; works with functions\r\n\r\n},\r\n\r\ntemplate:&#8221;\r\n<div>{{ myName }}<\/div>\r\n&#8220;,\u00a0\/\/ define HTML markup\r\n\r\ntemplateUrl:\u00a0&#8216;mytemplate.html&#8217;,\u00a0\/\/path to the template, used by the directive\r\n\r\nreplace:\u00a0true\u00a0|\u00a0false,\u00a0\/\/ replace original markup with template yes\/no\r\n\r\ntransclude:\u00a0true\u00a0|\u00a0false,\u00a0\/\/ copy original HTML content yes\/no\r\n\r\ncontroller:\u00a0function\u00a0(scope) {\u00a0\/\/define controller, associated with the directive\u00a0 template\r\n\r\n\/\/TODO:\r\n\r\n},\r\n\r\nlink:\u00a0function\u00a0(scope, element, attrs, controller) {\/\/define function, used for DOM manipulation\r\n\r\n\/\/TODO:\r\n\r\n}\r\n\r\n}\r\n\r\n});\r\n\r\n<hr \/>\r\n\r\n<strong>35) What are different ways to invoke a directive?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>There are four methods to invoke a directive in your angular app which are equivalent.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td><strong>Method<\/strong><\/td>\r\n<td><strong>Syntax<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>As an\u00a0<strong>attribute<\/strong><\/td>\r\n<td>&lt;span\u00a0my-directive&gt;span&gt;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>As a\u00a0<strong>class<\/strong><\/td>\r\n<td>&lt;span\u00a0class=&#8221;my-directive: expression;&#8221;&gt;span&gt;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>As an\u00a0<strong>element<\/strong><\/td>\r\n<td>&lt;my-directive&gt;my-directive&gt;<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>As a\u00a0<strong>comment<\/strong><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n<hr \/>\r\n\r\n<strong>36) What is restrict option in directive?<\/strong>\r\n\r\n<strong>Ans:\u00a0<\/strong>The restrict option in angular directive, is used to specify how a directive will be invoked in your angular app i.e. as an attribute, class, element or comment.\r\n\r\nThere are four valid options for restrict:\r\n\r\n&#8216;A&#8217; (Attribute)-\u00a0&lt;span\u00a0my-directive&gt;span&gt;\r\n\r\n&#8216;C&#8217; (Class)-\u00a0&lt;span\u00a0class=&#8221;my-directive:expression;&#8221;&gt;span&gt;\u00a0&#8216;E&#8217; (Element)-\u00a0&lt;my-directive&gt;my-directive&gt;\r\n\r\n&#8216;M&#8217; (Comment)-\r\n\r\n<hr \/>\r\n\r\n<strong>37) Can you define multiple restrict options on a directive?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0You can also specify multiple restrict options to support more than one methods of directive invocation as an element or an attribute. Make sure all are specified in the restrict keyword as:\r\n\r\nrestrict:\u00a0&#8216;EA&#8217;\r\n\r\n<hr \/>\r\n\r\n<strong>38) What is auto bootstrap process in AngularJS?<\/strong>\r\n<div>\r\n\r\n<strong>Ans:<\/strong>\u00a0Angular initializes automatically upon DOMContentLoaded event or when the angular.js script is downloaded to the browser and the document.readyState is set to complete. At this point AngularJS looks for the\r\n\r\n<\/div>\r\nng-app directive which is the root of angular app compilation and tells about AngularJS part within DOM. When the ng-app directive is found then Angular will:\r\n<ol>\r\n \t<li>Load the module associated with the directive.<\/li>\r\n \t<li>Create the application injector.<\/li>\r\n<\/ol>\r\nCompile the DOM starting from the ng-app root element.\r\n\r\n<em>Example:<\/em>\r\n\r\n&lt;html&gt;\r\n\r\n&lt;body\u00a0ng-app=&#8221;myApp&#8221;&gt;\r\n\r\n&lt;div\u00a0ng-controller=&#8221;Ctrl&#8221;&gt;\u00a0Hello\u00a0<strong>{{<\/strong>msg<strong>}}<\/strong>!\r\n\r\ndiv&gt;\r\n\r\n&lt;script\u00a0src=&#8221;lib\/angular.js&#8221;&gt;script&gt;\r\n\r\n&lt;script&gt;\r\n\r\nvar\u00a0app = angular.module(&#8216;myApp&#8217;, []);\r\n\r\napp.controller(&#8216;Ctrl&#8217;,\u00a0function\u00a0($scope) {\r\n\r\n$scope.msg =\u00a0&#8216;World&#8217;;\r\n\r\n});\r\n\r\nscript&gt;\r\n\r\nbody&gt;\r\n\r\nhtml&gt;\r\n\r\n<hr \/>\r\n\r\n<strong>39) How AngularJS is initialized manually?<\/strong>\r\n\r\n<strong>Ans:<\/strong>\u00a0 You can manually initialized your angular app by using angular.bootstrap() function. This function takes\u00a0 the modules as parameters and should be called within angular.element(document).ready() function. The angular.element(document).ready() function is fired when the DOM is ready for manipulation.\r\n\r\n<em>Example:<\/em>\r\n\r\n&lt;html&gt;\r\n\r\n&lt;body&gt;\r\n\r\n&lt;div\u00a0ng-controller=&#8221;Ctrl&#8221;&gt;\u00a0Hello\u00a0<strong>{{<\/strong>msg<strong>}}<\/strong>!\r\n\r\ndiv&gt;\r\n\r\n&lt;script\u00a0src=&#8221;lib\/angular.js&#8221;&gt;script&gt;\r\n\r\n&lt;script&gt;\r\n\r\nvar\u00a0app = angular.module(&#8216;myApp&#8217;, []);\r\n\r\napp.controller(&#8216;Ctrl&#8217;,\u00a0function\u00a0($scope) {\r\n\r\n$scope.msg =\u00a0&#8216;World&#8217;;\r\n\r\n});\r\n\r\n\/\/manual bootstrap process\r\n\r\nangular.element(document).ready(function\u00a0() {\r\n\r\nangular.bootstrap(document, [&#8216;myApp&#8217;]);\r\n\r\n});\r\n\r\nscript&gt;\r\n\r\nbody&gt;\r\n\r\nhtml&gt;\r\n\r\n<em>Note:<\/em>\r\n<ul>\r\n \t<li>You should not use the ng-app directive when manually bootstrapping your app.<\/li>\r\n \t<li>You should not mix up the automatic and manual way of bootstrapping your app.<\/li>\r\n \t<li>Define modules, controller, services etc. before manually bootstrapping your app as defined in above example.<\/li>\r\n<\/ul>\r\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section bb_built=&#8221;1&#8243; prev_background_color=&#8221;#000000&#8243;][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_team_member _builder_version=&#8221;3.0.106&#8243; name=&#8221;Arun Gandham&#8221; position=&#8221;Author&#8221; facebook_url=&#8221;&#8221; twitter_url=&#8221;&#8221; google_url=&#8221;&#8221; linkedin_url=&#8221;&#8221; image_url=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/123456.gif&#8221; background_layout=&#8221;light&#8221; header_font=&#8221;Titillium Web|700|||||||&#8221; body_font=&#8221;Titillium Web||||||||&#8221; body_font_size=&#8221;16&#8243;]\r\n\r\nHola peeps! A fitness freak, a lover of games, I catch a flick on the weekends and write for you about current trends.\r\n\r\n[\/et_pb_team_member][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":48090,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[57],"tags":[58],"class_list":["post-48088","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interview-questions","tag-interview-questions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AngularJS Interview Questions and Answers - Asha24 Blog<\/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:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AngularJS Interview Questions and Answers - Asha24 Blog\" \/>\n<meta property=\"og:url\" content=\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/\" \/>\n<meta property=\"og:site_name\" content=\"Asha24 Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-29T22:39:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-03T12:13:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"459\" \/>\n\t<meta property=\"og:image:height\" content=\"306\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mahesh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/asha24.net\/blog\/#website\",\"url\":\"https:\/\/asha24.net\/blog\/\",\"name\":\"Asha24 Blog\",\"description\":\"Dedication Towards Learning\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/asha24.net\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg\",\"contentUrl\":\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg\",\"width\":459,\"height\":306},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#webpage\",\"url\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/\",\"name\":\"AngularJS Interview Questions and Answers - Asha24 Blog\",\"isPartOf\":{\"@id\":\"https:\/\/asha24.net\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#primaryimage\"},\"datePublished\":\"2018-01-29T22:39:49+00:00\",\"dateModified\":\"2023-02-03T12:13:47+00:00\",\"author\":{\"@id\":\"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759\"},\"breadcrumb\":{\"@id\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/asha24.net\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AngularJS Interview Questions and Answers\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759\",\"name\":\"Mahesh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/asha24.net\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g\",\"caption\":\"Mahesh\"},\"url\":\"https:\/\/asha24.net\/blog\/author\/mahesh\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AngularJS Interview Questions and Answers - Asha24 Blog","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:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/","og_locale":"en_US","og_type":"article","og_title":"AngularJS Interview Questions and Answers - Asha24 Blog","og_url":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/","og_site_name":"Asha24 Blog","article_published_time":"2018-01-29T22:39:49+00:00","article_modified_time":"2023-02-03T12:13:47+00:00","og_image":[{"width":459,"height":306,"url":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg","path":"\/home\/reviews981\/public_html\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg","size":"full","id":48090,"alt":"","pixels":140454,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mahesh","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/asha24.net\/blog\/#website","url":"https:\/\/asha24.net\/blog\/","name":"Asha24 Blog","description":"Dedication Towards Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/asha24.net\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#primaryimage","inLanguage":"en-US","url":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg","contentUrl":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/angularjs-interview-questions-and-answers-1.jpg","width":459,"height":306},{"@type":"WebPage","@id":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#webpage","url":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/","name":"AngularJS Interview Questions and Answers - Asha24 Blog","isPartOf":{"@id":"https:\/\/asha24.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#primaryimage"},"datePublished":"2018-01-29T22:39:49+00:00","dateModified":"2023-02-03T12:13:47+00:00","author":{"@id":"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759"},"breadcrumb":{"@id":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/asha24.net\/blog\/angularjs-interview-questions-and-answers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/asha24.net\/blog\/"},{"@type":"ListItem","position":2,"name":"AngularJS Interview Questions and Answers"}]},{"@type":"Person","@id":"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759","name":"Mahesh","image":{"@type":"ImageObject","@id":"https:\/\/asha24.net\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g","caption":"Mahesh"},"url":"https:\/\/asha24.net\/blog\/author\/mahesh\/"}]}},"_links":{"self":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/comments?post=48088"}],"version-history":[{"count":11,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48088\/revisions"}],"predecessor-version":[{"id":52131,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48088\/revisions\/52131"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/media\/48090"}],"wp:attachment":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/media?parent=48088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/categories?post=48088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/tags?post=48088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}