Angular 2 Metadata - Angular 2

How metadata is useful in Angular 2?

Description

Metadata is a way of processing the class and a component called MyComponent will act as a class until we tell Angular that it's a component. User can use metadata to the class to tell Angular that MyComponent is a component. Metadata can be attached to TypeScript using a decorator.

Example

Below example describes the use of metadata 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 as shown below:

metadata_app.component.ts

  • @Component is a decorator which makes use of configuration object to create the component and its view.
  • Selector is used to create an instance of the component where it finds <my-app> tag in parent HTML.
  • Directive decorator is used for representing an array of components or directives.

Below TypeScript(.ts) file displays a list of items as an output.

item-list.component.ts

  • Template tells Angular how to display the component.
  • *ngFor directive is used for looping the list of items from an array of itemList object.

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