Nous utilisons angulaire pour construire une belle face avant pour notre application principale. Nous avons plusieurs clients qui demandent une personnalisation très mineure de ces composants de base. Je souhaite conserver notre code de base dans les packages NPM, puis apporter ces légères modifications en étendant les composants dans chaque application cliente. Pour ce faire, j'ai besoin d'étendre un composant enfant, mais garder le même sélecteur (sinon je dois modifier chaque composant parent).Extension d'un composant avec le même sélecteur - Angulaire 2/Angulaire-CLI
J'ai été capable de le faire avec aot = false builds en important le composant d'origine dans le composant d'extension et en utilisant un lien relatif vers node_modules pour templateUrl. Ensuite, je déclare le composant d'extension dans le fichier app.module et dépose le composant d'origine dans le fichier app.module (donc les sélecteurs ne sont pas en conflit).
Cela fonctionne très bien tant que aot = false, mais avec aot vrai, j'obtiens une erreur "ERREUR dans Impossible de déterminer le module pour la classe" pour le composant d'origine lors de la construction.
Existe-t-il un moyen d'étendre un composant d'un autre, de garder le même sélecteur et de bénéficier de la compilation AOT?
Vous pouvez utiliser des classes de base sans les annotations '@Component()' et les ajouter uniquement aux implémentations concrètes. –