Website-Suche

TypeScript - Was ist der Unterschied zwischen Annotation und Dekorator?


Ich bin verwirrt, wann ich den Begriff Annotation verwenden soll und wann ich Decorator verwenden soll?

 @Component({
      selector: 'tabs',
      template: `
      `
    })
    export class Tabs {

    }

Antwort #1

Ein Dekorateur entspricht einer Funktion, die auf der Klasse aufgerufen wird, während Annotationen „nur“ Metadaten sind, die mit der Reflect-Metadata-Bibliothek auf der Klasse gesetzt werden.

Mit TypeScript und ES7 ist @Something ein Dekorator. Im Kontext von Angular2 definieren Dekoratoren wie @Component, @Injectable, ... Metadaten für das dekorierte Element mithilfe der Methode Reflect.defineMetadata.

Diese Frage könnte Sie interessieren, um herauszufinden, was ein Dekorateur eigentlich ist:

  • Wie werden Decorators (Annotationen) in TypeScript kompiliert?

Verwandte Artikel