Angular js interview questions Answer

Angular js

Best Angular js interview questions Answer. This is Angular js Question answer. Now enjoy Angular js Question Answer. if you have any question then add in coment

1. What is Angular JS?

AngularJS is a JavaScript framework that is used for making rich, extensible web applications. It runs on plain JavaScript and HTML, so you don’t need any other dependencies to make it work.AngularJS is perfect for Single Page Applications (SPA). It is basically used for binding JavaScript objects with HTML UI elements.

2. Explain architecture of AngularJS ?

AngularJS is architectured on 3 components.They are

    • The Template (View)
    • The Scope (Model)
    • The Controller (Controller)

AngularJS extends HTML attributes with Directives, and binds data to HTML with Expressions.

3. What is the Template in AngularJS ?

The template is the HTML portion of the angular app. It is exactly like a static HTML page, except that templates contain additional syntax which allows data to be injected in it in order to provide a customized user experience.

4. What is the scope in AngularJS ?

The scope is the object that represents the “model” of your application. It contains fields that store data which is presented to the user via the template, as well as functions which can be called when the user performs certain actions such as clicking a button.

5. What is the controller in AngularJS ?

The controller is a function which generally takes an empty scope object as a parameter and adds to it the fields and functions that will be later exposed to the user via the view.

6. Explain Directives in AngularJs ?

AngularJS directives are extended HTML attributes with the prefix ng-
The 3 main directives of angular js are

  • ng-app:- directive is used to flag the html element that Angular should consider to be the root element of our application. Angular uses spinal-case for its custom attributes and camelCase for the corresponding directives which implement them.
  • ng-model :- directive allows us to bind values of HTML controls (input, select, textarea) to application data. When using ngModel, not only are changes in the scope reflected in the view, but changes in the view are reflected back into the scope.
  • ng-bind :- directive binds application modal data to the HTML view.

7. List some tools for testing AngularJS applications ?

For testing AngularJS applications there are certain tools that you should use that will make testing much easier to set up and run.


Karma is a JavaScript command line tool that can be used to spawn a web server which loads your application’s source code and executes your tests. You can configure Karma to run against a number of browsers, which is useful for being confident that your application works on all browsers you need to support. Karma is executed on the command line and will display the results of your tests on the command line once they have run in the browser.

Karma is a NodeJS application, and should be installed through npm/yarn. Full installation instructions are available on the Karma website.


Jasmine is a behavior driven development framework for JavaScript that has become the most popular choice for testing AngularJS applications. Jasmine provides functions to help with structuring your tests and also making assertions. As your tests grow, keeping them well structured and documented is vital, and Jasmine helps achieve this.

Jasmine comes with a number of matchers that help you make a variety of assertions. You should read the Jasmine documentation to see what they are. To use Jasmine with Karma, we use the karma-jasmine test runner.


AngularJS also provides the ngMock module, which provides mocking for your tests. This is used to inject and mock AngularJS services within unit tests. In addition, it is able to extend other modules so they are synchronous. Having tests synchronous keeps them much cleaner and easier to work with. One of the most useful parts of ngMock is $httpBackend, which lets us mock XHR requests in tests, and return sample data instead.

8. How do you share data between controllers in AngularJs?

We can share data by creating a service,
Services are easiest,fastest and cleaner way to share data between controllers in AngularJs.
There are also other ways to share data between controllers ,they are

  • Using Events
  • $parent, nextSibling, controllerAs
  • Using the $rootScope

9. Explain AngularJS digest cycle ?

AngularJS digest cycle is the process behind Angular JS data binding.
In each digest cycle Angular compares the old and the new version of the scope model values. The digest cycle is triggered automatically. We can also use $apply() if we want to trigger the digest cycle manually.

10. What is internationalization in Angularjs ?

Internationalization is a way to show locale specific information on a website.It is used to create multilingual language websites.

11. Difference between AngularJS and JavaScript Expressions

Below are the some major difference between AngularJS and JavaScript Expressions

  • Both can contain literals, operators, and variables.
  • AngularJS expressions can be written inside HTML but JavaScript expressions are not.
  • AngularJS expressions do not support conditionals, loops, and exceptions, while JavaScript expressions do.
  • AngularJS expressions support filters, while JavaScript expressions do not.

12. Explain basic steps to set up a Angular app ?

  • Create an angular.module
  • Assign a controller to the module
  • Link your module to html with ng-app
  • Link the controller to html with ng-controller directive

13. What are Angular Modules ?

Angular Modules are place where we write code of our Angular application.Writing Modules makes our code more maintainable, testable, and readable. All dependencies for our app are defined in modules.

14.Explain Directive scopes ?

There are three types of directive scopes available in Angular.

  • Parent Scope : is default scope
  • Child Scope : If the properties and functions you set on the scope are not relevant to other directives and the parent, you should probably create a new child scope.
  • Isolated Scope:Isolated Scope is used if the directive you are going to build is self contained and reusable. Does not inherit from parent scope, used for private/internal use.

15. How to isolate a directive’s Scope in Angular?

You can isolate a directive’s Scope by passing an object to the scope option of directive.
This tells the directive to keep scope inside of itself and not to inherit or share with other scopes.

16. What is the difference between one-way binding and two-way binding ?

In One-Way data binding, view (UI part) not updates automatically when data model changed. We need to write custom code to make it updated every time.
ng-bind has one-way data binding.

While in two way binding scope variable will change it’s value every time its data model changed is assigned to a different value.

17. How would you make an Angular service return a promise? Write a code snippet as an example

To add promise functionality to a service, we inject the “$q” dependency in the service, and then use it like so:

angular.factory('testService', function($q){
return {
getName: function(){
var deferred = $q.defer();

//API call here that returns data

return deferred.promise;

The $q library is a helper provider that implements promises and deferred objects to enable asynchronous functionality

18. Explain the role of $routeProvider in AngularJS ?

The $routeProvider is used to configure roots within an AngularJS application. It can be used to link a url with a corresponding HTML page or template, and a controller (if applicable).

19. Explain how does Angular implement two-way binding?

Data-binding in Angular apps is the automatic synchronization of data between the model and view components. The way that Angular implements data-binding lets you treat the model as the single-source-of-truth in your application. The view is a projection of the model at all times. When the model changes, the view reflects the change, and vice versa.

20. What is dependency injection and how does it work?

AngularJS was designed to highlight the power of dependency injection, a software design pattern that places an emphasis on giving components their dependencies instead of hard coding them within the component. For example, if you had a controller that needed to access a list of customers, you would store the actual list of customers in a service that can be injected into the controller instead of hardcoding the list of customers into the code of the controller itself. In AngularJS you can inject values, factories, services, providers, and constants.

Also Read:Google Adsense Interview Question Answer

Leave a Reply