Angular Interview Question Set 15

Categories: Angular

What is Angular Framework?

Angular is a TypeScript-based open-source front-end platform that makes it easy to build applications with in web/mobile/desktop. The major features of this framework such as declarative templates, dependency injection, end to end tooling, and many more other features are used to ease the development.



What is the difference between AngularJS and Angular?

Angular is a completely revived component-based framework in which an application is a tree of individual components.

Some of the major difference in tabular form

AngularJSAngular

It is based on MVC architectureThis is based on Service/Controller

It uses JavaScript to build the applicationIntroduced the TypeScript to write the application

Based on controllers conceptThis is a component based UI approach

Not a mobile friendly frameworkDeveloped considering mobile platform

Difficulty in SEO friendly application developmentEase to create SEO friendly applications



What is TypeScript?

TypeScript is a typed superset of JavaScript created by Microsoft that adds optional types, classes, async/await, and many other features, and compiles to plain JavaScript. Angular built entirely in TypeScript and used as a primary language. You can install it globally as

npm install -g typescript

Let's see a simple example of TypeScript usage,

function greeter(person: string) {

    return "Hello, " + person;

}


let user = "Sudheer";

document.body.innerHTML = greeter(user);



What are the key components of Angular?

Angular has the below key components,

Component: These are the basic building blocks of angular application to control HTML views.

Modules: An angular module is set of angular basic building blocks like component, directives, services etc. An application is divided into logical pieces and each piece of code is called as "module" which perform a single task.

Templates: This represent the views of an Angular application.

Services: It is used to create components which can be shared across the entire application.

Metadata: This can be used to add more data to an Angular class.



What are directives?

Directives add behaviour to an existing DOM element or an existing component instance.

import { Directive, ElementRef, Input } from '@angular/core';


@Directive({ selector: '[myHighlight]' })

export class HighlightDirective {

    constructor(el: ElementRef) {

       el.nativeElement.style.backgroundColor = 'yellow';

    }

}



What are components?

Components are the most basic UI building block of an Angular app which formed a tree of Angular components. These components are subset of directives. Unlike directives, components always have a template and only one component can be instantiated per an element in a template. Let's see a simple example of Angular component

import { Component } from '@angular/core';


@Component ({

   selector: 'my-app',

   template: ` <div>

      <h1>{{title}}</h1>

      <div>Learn Angular6 with examples</div>

   </div> `,

})


export class AppComponent {

   title: string = 'Welcome to Angular world';

}



What are the differences between Component and Directive?

In a short note, A component(@component) is a directive-with-a-template.


Some of the major differences are mentioned in a tabular form

ComponentDirective

To register a component we use @Component meta-data annotationTo register directives we use @Directive meta-data annotation

Components are typically used to create UI widgetsDirective is used to add behavior to an existing DOM element

Component is used to break up the application into smaller componentsDirective is use to design re-usable components

Only one component can be present per DOM elementMany directives can be used per DOM element

@View decorator or templateurl/template are mandatoryDirective doesn't use View



What is a template?

A template is a HTML view where you can display data by binding controls to properties of an Angular component. You can store your component's template in one of two places. You can define it inline using the template property, or you can define the template in a separate HTML file and link to it in the component metadata using the @Component decorator's templateUrl property.



What is a module?

Modules are logical boundaries in your application and the application is divided into separate modules to separate the functionality of your application. Lets take an example of app.module.ts root module declared with @NgModule decorator as below,


import { NgModule }      from '@angular/core';

import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }  from './app.component';


@NgModule ({

   imports:      [ BrowserModule ],

   declarations: [ AppComponent ],

   bootstrap:    [ AppComponent ],

   providers: []

})

export class AppModule { }



What is a data binding?

Data binding is a core concept in Angular and allows to define communication between a component and the DOM, making it very easy to define interactive applications without worrying about pushing and pulling data. There are four forms of data binding(divided as 3 categories) which differ in the way the data is flowing.

From the Component to the DOM:

Interpolation: {{ value }}: Adds the value of a property from the component


<li>Name: {{ user.name }}</li>

<li>Address: {{ user.address }}</li>

Property binding: [property]=”value”: The value is passed from the component to the specified property or simple HTML attribute


<input type="email" [value]="user.email">



What is angular CLI?

Angular CLI(Command Line Interface) is a command line interface to scaffold and build angular apps using nodejs style (commonJs) modules. You need to install using below npm command,

npm install @angular/cli@latest

Below are the list of few commands, which will come handy while creating angular projects

Creating New Project: ng new


Generating Components, Directives & Services: ng generate/g The different types of commands would be,

ng generate class my-new-class: add a class to your application

ng generate component my-new-component: add a component to your application

ng generate directive my-new-directive: add a directive to your application

ng generate enum my-new-enum: add an enum to your application



What is the difference between constructor and ngOnInit?

TypeScript classes has a default method called constructor which is normally used for the initialization purpose. Whereas ngOnInit method is specific to Angular, especially used to define Angular bindings. Even though constructor getting called first, it is preferred to move all of your Angular bindings to ngOnInit method. In order to use ngOnInit, you need to implement OnInit interface as below,

export class App implements OnInit{

  constructor(){

     //called first time before the ngOnInit()

  }


  ngOnInit(){

     //called after the constructor and called  after the first ngOnChanges()

  }

}

Top Blogs
Angular and Node JS difference Published at:- The top 5 new features of Angular did you know Published at:- Introduction to AngularJS Published at:- Single-Page Applications and Bootstrapping the Application in Angular JS Published at:- Dependency Injection and AngularJS Routes Published at:- AngularJS Templates, Views, Models, Controllers Published at:- Integrating AngularJS with Other Frameworks Published at:- Testing AngularJS Applications in the IDE Published at:- End-to-End Testing with Protractor Published at:- AngularJS Views and Bootstrap Published at:- Adding a New Blog Controller Published at:- Adding a New Blog Template In Angular JS Published at:- Ways to Communicate with REST Services Published at:- Services and Business Logic and Handling User Authentication in Angular JS Published at:- Using Basic Authentication, Creating AngularJS Services, Holding User Credentials in Angular JS Published at:- AngularJS Security : why we are covering security in a book on AngularJS Published at:- MEAN Cloud and Mobile, Local Deployment and Installing Node.js, npm, and MongoDB in Angular Published at:- Angular 4 Questions - Angular 4 Quiz (MCQ) Published at:- AngularJS MCQ Quiz Questions with Answer Part 2 Published at:- AngularJS MCQ Quiz Questions with Answer Published at:- AngularJS MCQ Quiz Questions with Answer Published at:- Angular Interview Question Set 1 Published at:- Angular Interview Question Set 2 Published at:- Angular Interview Question Set 3 Published at:- Angular Interview Question Set 4 Published at:- Angular Interview Question Set 5 Published at:- Angular Interview Question Set 7 Published at:- Angular Interview Question Set 8 Published at:- Angular Interview Question Set 9 Published at:- Angular Interview Question Set 10 Published at:- Angular Interview Question Set 11 Published at:- Angular Interview Question Set 11 Published at:- Angular Interview Question Set 12 Published at:- Angular Interview Question Set 13 Published at:- Angular Interview Question Set 14 Published at:- Angular Interview Question Set 15 Published at:-
R4Rin Team
The content on R4Rin.com website is created by expert teams.