AngularJS is a javascript framework used for creating single web page applications.? It allows you to use HTML as your template language and enables you to extend HTML’s syntax to express your application’s components clearly
Top 25 Angular Interview Questions and answer?
What is AngularJS?
AngularJS is a javascript framework used for creating single web page applications.? It allows you to use HTML as your template language and enables you to extend HTML’s syntax to express your application’s components clearly
<!doctype html> <html ng-app> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script> </head> <body> <div> <label>Name:</label> <input type="text" ng-model="yourName" placeholder="Enter a name here"> <hr> <h1>Hello {{yourName}}!</h1> </div> </body> </html>
Explain what are the key features of AngularJS.
The key features of AngularJS are
- Scope
- Controller
- Model
- View
- Services
- Data Binding
- Directives
- Filters
- Testable
Explain what is scope in AngularJS.
Scope refers to the application model, it acts like glue between the application controller and the view.? Scopes are arranged in a hierarchical structure and impersonate the DOM ( Document Object Model) structure of the application.? It can watch expressions and propagate events.
Explain what are services in AngularJS.
In AngularJS services are the singleton objects or functions that are used for carrying out specific tasks.? It holds some business logic and these functions can be called controllers, directives, filters, and so on.
Explain what is Angular Expression. Explain what is the key difference between angular expressions and JavaScript expressions.
Like JavaScript,? Angular expressions are code snippets that are usually placed in binding such as {{ expression }}
The key difference between JavaScript expressions and Angular expressions
- Context: In Angular, the expressions are evaluated against a scope object, while the Javascript expressions are evaluated against the global window
- Forgiving: In Angular expression evaluation is forgiving to null and undefined, while in Javascript undefined properties generate TypeError or ReferenceError
- No Control Flow Statements: Loops, conditionals, or exceptions cannot be used in an angular expression
- Filters: To format data before displaying it you can use filters
With options on page load how you can initialize a select box?
You can initialize a select box with options on page load by using the eng-init. directive
- <div ng-controller = ” apps/dashboard/account ” ng-switch
- On = “! ! accounts” ng-init = ” loadData ( ) “>
Explain what are directives. Mention some of the most commonly used directives in AngularJS applications.
A directive is something that introduces new syntax, they are like markers on a DOM element that attaches a special behavior to it. In any AngularJS application, directives are the most important components.
Some of the commonly used directives are ng-model, ng-App, ng-bind, ng-repeat, ng-show etc.
Mention what are the advantages of using AngularJS.
AngularJS has several advantages in web development.
- AngularJS supports MVC pattern
- Can do two ways data binding using AngularJS
- It has pre-defined form validations
- It supports both client-server communication
- It supports animations
Explain what Angular JS routes do.
Angular js routes enable you to create different URLs for different content in your application.? Different URLs for different content enable the user to bookmark URLs to specific content.? Each such bookmarkable URL in AngularJS is called a route
A value in Angular JS is a simple object.? It can be a number, string, or JavaScript object.? Values are typically used as configuration injected into factories, services, or controllers. A value should belong to an AngularJS module.
Injecting a value into an AngularJS controller function is done by adding a parameter with the same name as the value
Explain what is data binding in AngularJS.
Automatic synchronization of data between the model and view components is referred as data binding in AngularJS.. There are two ways to data binding
- Data mining in classical template systems
- Data binding in angular templates
What makes AngularJS better?
- Registering Callbacks:?There is no need to register callbacks. This makes your code simple and easy to debug.
- Control HTML DOM programmatically:??All the applications that are created using Angular never have to manipulate the DOM although it can be done if it is required
- Transfer data to and from the UI:?AngularJS helps to eliminate almost all of the boilerplate like validating the form, displaying validation errors, returning to an internal model and so on which occurs due to the flow of marshaling data
- No initialization code:?With AngularJS you can bootstrap your app easily using services, which are auto-injected into your application in Guice-like dependency injection style
Explain what is string interpolation in Angular.js.
In Angular.js the compiler during the compilation process matches text and attributes using interpolate service to see if they contain embedded expressions.? As part of the normal digest cycle, these expressions are updated and registered as watches.
Mention the steps for the compilation process of HTML happens?
Compilation of the HTML process occurs in the following ways
- Using the standard browser API, first the HTML is parsed into DOM
- By using the call to the $compile () method, a compilation of the DOM is performed.? The method traverses the DOM and matches the directives.
- Link the template with scope by calling the linking function returned from the previous step
Explain what is directive and Mention what are the different types of Directive.
During the compilation process when specific HTML constructs are encountered a behavior or function is triggered, this function is referred to as a directive.? It is executed when the compiler encounters it in the DOM.
Different types of directives are
- Element directives
- Attribute directives
- CSS class directives
- Comment directives
Explain what is linking function is and the type of linking function.
Link combines the directives with a scope and produces a live view.? For registering DOM listeners as well as updating the DOM, the link function is responsible. After the template is cloned it is executed.
- Pre-linking function: Pre-linking function is executed before the child elements are linked.? It is not considered a safe way for DOM transformation.
- Post-linking function: Post linking function is executed after the child elements are linked. It is safe to do DOM transformation by post-linking function
Explain what is the injector.
An injector is a service locator.? It is used to retrieve object instances as defined by the provider, instantiate types, invoke methods, and load modules.? There is a single injector per Angular application, it helps to look up an object instance by its name.
abstract class Injector { static THROW_IF_NOT_FOUND: THROW_IF_NOT_FOUND static NULL: Injector static create(options: StaticProvider[] | { providers: StaticProvider[]; parent?: Injector; name?: string; }, parent?: Injector): Injector abstract get<T>(token: ProviderToken<T>, notFoundValue: undefined, options: InjectOptions & { optional?: false; }): T }
Explain what is the difference between a link and compile in Angular.js.
- Compile function: It is used for template DOM Manipulation and collects all of the directives.
- Link function: It is used for registering DOM listeners as well as instance DOM manipulation. It is executed once the template has been cloned.
Explain what is factory method in AngularJS.
For creating the directive, the factory method is used.? It is invoked only once, when the compiler matches the directive for the first time.? By using $injector. invoke the factory method is invoked.
Mention what are the styling form that ngModel adds to CSS classes.
ngModel adds these CSS classes to allow styling of form as well as control
- ng- valid
- ng- invalid
- ng-pristine
- ng-dirty
Mention what are the characteristics of Scope.
- To observe model mutations scopes provide APIs ($watch)
- To propagate any model changes through the system into the view from outside of the Angular realm
- Does a scope inherit properties from its parent scope,? while providing access to shared model properties, scopes can be nested to isolate application components
- Scope provides context against which expressions are evaluated
Explain what is DI (Dependency Injection ) and how an object or function can get a hold of its dependencies.
DI or Dependency Injection is a software design pattern that deals with how code gets hold of its dependencies.? In order to retrieve elements of the application which is required to be configured when the module gets loaded, the operation config uses dependency injection.
These are the ways that an object uses to hold off its dependencies
- Typically using the new operator, dependency can be created
- By referring to a global variable, dependency can be looked up
- Dependency can be passed into where it is required
Mention what are the advantages of using the Angular.js framework.
Advantages of using Angular.js as a framework are
- Supports two-way data-binding
- Supports MVC pattern
- Support static template and an angular template
- Can add a custom directive
- Supports REST full services
- Supports form validations
- Support both client and server communication
- Support dependency injection
- Applying Animations
- Event Handlers
Explain the concept of scope hierarchy. How much scope can an application have?
Each angular application consists of one root scope but may have several child scopes. As child controllers and some directives create new child scopes, applications can have multiple scopes. When new scopes are formed or created they are added as children of their parent scope. Similar to DOM, they also create a hierarchical structure.
Explain what is the difference between AngularJS and backbone.js.
AngularJS combines the functionalities of most of the 3rd?party libraries, it supports individual functionalities required to develop HTML5 Apps.? While Backbone.js do its jobs individually.
Who created Angular JS?
Initially, it was developed by Misko Hevery and Adam Abrons. Currently, it is being developed by Google.