2016-07-18 16 views
3

Angular 1.5 stellt components:Wann sollte ich anstelle einer Direktive eine Komponente verwenden?

In Angular, ist eine Komponente, eine besondere Art der Richtlinie, die eine einfachere Konfiguration verwendet, die für eine komponentenbasierte Anwendungsstruktur geeignet ist.

Ich kann wirklich nicht scheinen, irgendwelche Vorteile zu finden, sie über Richtlinien zu verwenden. Von dem, was ich sagen kann, haben sie weniger Funktionen (zB keine compile oder link Funktionen) und führen eine leicht abweichende Syntax ein.

Die Dokumentation, es zu benutzen, weil es „einfacher“ ist und Übergang zu Angular 2 helfen, aber wir haben noch Richtlinien haben in Schräg 2, nicht wahr? Gibt es einen Grund, warum ich meine Anweisungen in Komponenten in meiner Angular 1.5 App umwandeln sollte?

Antwort

5

Angular 2

Eine Komponente hat Sicht, ihren Teil der Benutzeroberfläche. Eine Direktive nicht.

Dies ist so einfach, wenn Ihr Element einen Blick/template seinem hat dann eine Komponente. Wenn es nur um das Element zu erhalten, ändern Sie die Attribute, registrieren Sie sich auf Ereignisse -> Richtlinie.

Angular 1

In Winkel 1 ein Bestandteil ist Fassade für Richtlinien. Mit anderen Worten, eine Komponente (in Winkel 1,5+) ist eine Fabrik zum Erstellen von Anweisungen. Die Verwendung von Komponenten ist die beste Vorgehensweise, da sie Direktiven "richtig" erstellt. Direktiven in Angular1 sind super konfigurierbar und haben viele Optionen, was zu schlechter Implementierung und schlechtem PR für Angular führt. Also wurde die Komponente hinzugefügt, um Entwicklern bei der Erstellung von Direktiven zu helfen (kein Bereich, konsistenter Controller, etc ..). .)

+0

I I 2. ist diese Antwort auf Angular 1.5 gelten bin nicht Angular erwähnt haben sollte mit? – adamdport

+0

Nein, diese Antwort gilt nur für Winkel 2. In Winkel 1 ist eine Komponente 'Fassade' für Richtlinien. Mit anderen Worten, eine Komponente (in Winkel 1,5+) ist eine Fabrik zum Erstellen von Anweisungen. Die Verwendung von Komponenten ist die beste Vorgehensweise, da sie Direktiven "richtig" erstellt. Richtlinien in Angular1 sind super konfigurierbar und viele viele Möglichkeiten hat, die zu einer schlechten Umsetzung führt und schlechte PR für Winkel :) So ist die ** ** Komponente hinzugefügt wurde Entwicklern zu helfen, in den Richtlinien die richtige Art und Weise zu schaffen (kein Spielraum, im Einklang controller as, etc ...) –

+0

Statt zu erwähnen, sollten Sie lieber das 'angular2' -Tag entfernen. –

Verwandte Themen