Największy problem z Angular 1 polega na tym, jak trudno jest rozszerzyć (w sensie obiektowym) dyrektywę.Czy dyrektywy Angular 2 są obecnie "rozszerzalne"?
Na przykład prawie niemożliwe jest ponowne użycie dyrektywy input[number]
w moim niestandardowym widżecie i musiałem ponownie wdrożyć cały kod sprawdzania poprawności i typu.
Angular 2 komponenty są implementowane jako klasy, więc wydaje się, że można je łatwo rozszerzyć. Jednak mają również tę adnotację z bardzo specyficznymi selektorami itp., Co sprawia, że nie jest dla mnie jasne, czy można je w pełni przesłonić.
Czy dyrektywy Angular 2 są rzeczywiście rozszerzalne?
Edit:
Dobra, "rozciągliwe" nie musi być rozszerzenie klas. Może to być tworzenie nowej dyrektywy, która składa się z wielu istniejących dyrektyw. Moje pytanie dotyczące tego podejścia brzmi: jaki jest mechanizm stosowania dyrektyw dotyczących dzieci?
(The @Component
klasy nie są tradycyjne zajęcia oo z metod, które można wysyłają do dzieci. To jest tylko pojemnik z pól i wywołania zwrotne, które są całkowicie napędzany przez co jest za adnotacji.)
Witam, całkowicie zgadzam się z tobą na temat "faworyzowania składu na dziedziczenie", ale nie jest to tak proste w przypadku komponentów Angular. Zobacz moją edycję powyżej. –