2016-05-19 10 views

risposta

7

decoratore corrisponde a una funzione chiamata sulla classe che annotazioni sono "solo" set di metadati sulla classe utilizzando la libreria metadati Rifletti.

Con TypeScript ed ES7, @Something è un decoratore. Nel contesto di Angular2, i decoratori come @Component, @Injectable, ... definiscono i metadati per l'elemento decorato utilizzando il metodo Reflect.defineMetadata.

Questa domanda potrebbe interessare per scoprire ciò che un decoratore in realtà è:

+0

mi potete aiutare a risolvere la cosa questa: http: //stackoverflow.com/ domande/37613097/no-fornitore-per-risposta-in-angolare-2-anche-pensato-fornitori-di-com i-hanno-aggiunto –

0

Traceur ci dà annotations. TypeScript ci fornisce decorators. Ma Angular 2 supporta entrambi.

Le annotazioni creano una matrice "annotazioni". mentre i decoratori sono funzioni che ricevono l'oggetto decorato e possono apportare qualsiasi modifica a loro piace.

Come angolare utilizzare TypeScript anziché atScript in modo che utilizzi decoratori. Ci sono fondamentalmente quattro tipi di decoratori sono lì che sono

  • decoratori di classe, per esempio @Component e @NgModule
  • I decoratori di proprietà per proprietà all'interno delle classi, ad es. @Input e @Output
  • Metodo decoratore per metodi all'interno delle classi, ad es. @HostListener
  • Decoratori di parametri per parametri all'interno di costruttori di classi, ad es. @Inject

Per più in profondità si può fare riferimento

Problemi correlati