Das größte Problem, das ich mit Angular 1 habe, ist, wie schwierig es ist, eine Direktive (objektorientiert) zu erweitern.Sind Angular 2-Anweisungen nun "erweiterbar"?
Zum Beispiel ist es fast unmöglich, die input[number]
Direktive auf meinem benutzerdefinierten Widget wieder zu verwenden, und ich musste den gesamten Validierungs- und Typumwandlungscode neu implementieren.
Angular 2-Komponenten sind als Klassen implementiert, so dass sie leicht erweitert werden können. Sie haben jedoch auch die @Component
Annotation mit sehr spezifischen Selektoren usw., die es mir unklar macht, ob diese vollständig außer Kraft gesetzt werden können.
Sind die Angular 2-Direktiven tatsächlich erweiterbar?
Edit:
Okay "dehnbar" nicht über Klassen erstreckt werden. Es kann eine neue Direktive erstellen, die aus mehreren vorhandenen Direktiven besteht. Meine Frage mit diesem Ansatz ist, was ist der Mechanismus, um die Kinderrichtlinien anzuwenden?
(Die @Component
Klassen sind nicht traditionelle OO Klassen mit Methoden, die man die Kinder auslösen kann. Es ist nur ein Behälter von Feldern und Rückrufen, die von ganz angetrieben werden, was auch immer hinter der Anmerkung ist.)
Hallo, ich stimme Ihnen voll und ganz zu "favor Zusammensetzung über Vererbung", aber es ist nicht so einfach mit eckigen Komponenten. Siehe meine Bearbeitung oben. –