Angular 2 Services - Angular 2

What is the use of Services in Angular 2?

Description

Services are JavaScript functions responsible for doing a specific task. Angular services are injected using Dependency Injection mechanism and include the value, function or feature which is required by the application. Angular does not have much about service and it has no ServiceBase class, but still services are treated as essential to Angular application.

Example

Below example describes use of services in Angular 2:

Above code includes below configuration options:

  • User can configure index.html file using typescript version. SystemJS transpilers TypeScript to JavaScript before running the application using the transpiler option.
  • If the user does not want to transpile to JavaScript before running the application, they can see the compiler warnings and errors hidden in the browser.
  • The TypeScript generates metadata for each and every class of the code when the emitDecoratorMetadata option is set. If you don't specify this option, large amount of unused metadata will be generated which affects the file size and impact on the application runtime.
  • Angular 2 includes packages form the app folder where files will have the .ts extension.
  • Next it loads the main component file from the app folder. If main component file is not found, then it will display the error in the console.
  • When Angular calls the bootstrap function in main.ts, it reads the Component metadata, finds the 'app' selector, locates an element tag named app, and loads the application between those tags.

To run the code, TypeScript(.ts) files are needed which should be saved under the app folder.

metadata_main.ts

Now create a component in TypeScript(.ts) file can create a view for the component.

app_service.component.ts

  • @Component is a decorator which uses configuration object for creating the component and its view.
  • Selector creates an instance of the component where it finds <my-app> tag in parent HTML.
  • Next create a directive called MyListComponent which is accessed from the service-list.component file.

service-list.component.ts

  • Local variable entry can be referenced in the template to get the index of an array. Angular 2 binds model name from an array with local variable of template.
  • A resource called providers registers class, function or value which are in the context of dependency injection. Service called CountryService can be injected using @Injectable() in the country.service.ts file.
  • Next user have to implement in the MyListComponent class using OnInit hook which indicates that Angular is done creating the component. Constructor can call the _countryService and populate the countries list.
  • ngOnInit() hook is called when done with creating the component and evaluated the inputs.

country.service.ts

country.contacts.ts

country.ts

Output

Below steps can be carried out to see how above code works:

  • Save above HTML code as index.html file as and use the above app folder which contains .ts files.
  • Open the terminal window and enter below command:

  • After few minutes, a browser tab should open and should display the output as shown below.

OR this file can be run in another way:

  • Save above HTML code as angular2_hello_world.html file in the server root folder.
  • Open this HTML file as http://localhost/angular2_hello_world.html and output as shown below will be displayed.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Angular 2 Topics