2016-07-28 7 views
1

Ich bin neu in eckigen 2. Ich verstehe die Import-Anweisung bedeutet, dass wir die Komponente-Klasse in dieser Datei enthalten.Was macht @ Component in angular2?

Meine Frage ist, wer hat eine Erklärung, warum wir @Component Annotation brauchen, was genau tut es?

import {component} from '@angular2/core'; 

@component 
{ 

} 


export class MyComponent 
{ 

} 

Antwort

0

Die @Component Annotation ist ein Typescript decorator. Dekoratoren sind eine spezielle Art von Deklaration, die an eine Klassendeklaration, eine Methode, einen Accessor, eine Eigenschaft oder einen Parameter angehängt werden kann.

Angular's Component-Annotation wendet die erforderlichen Framework-Bausteine ​​an, damit es eine verwendbare Komponente in Angular2 ist. Genauer gesagt:

Die Annotation @Component gibt an, wann eine Komponente instanziiert wird und an welche Eigenschaften und HostListener sie gebunden wird.

Siehe auch Component decorator on Angular.io

0

Sie von @Component als Konfigurationsfunktion denken kann, der die Klasse Komplimente, und dass Anmerkung macht Ihre Klasse in eine Winkelkomponente tatsächlich.

Angular analysiert intern die Annotation @Component (und alle Annotationen) und generiert zusätzlichen Code, der der Klasse angefordertes Verhalten hinzufügt.

Wenn Sie an dem transpiled Code Ihrer Klasse können Sie sehen, was Angular tut mit der @Component Anmerkung, ungefähr wie:

MyComponent = (function() { 
    function MyComponent() { 
     ... 
    } 
    ...