De nombreux Modules à l'aide de la même composant provoque une erreur Angulaire 2
Je partage un composant appelé GoComponent que je veux utiliser en 2 modules: FindPageModule et AddPageModule.
Quand je l'ajoute dans les déclarations de "FindPageModule" et dans mon "AddPageModule" j'obtiens une erreur:
trouver:21 Erreur: (SystemJS) Type GoComponent fait partie des déclarations
de 2 modules: FindPageModule et AddPageModule! Veuillez envisager de déplacer
GoComponent à une hausse de module que les importations FindPageModule et
AddPageModule. Vous pouvez également créer un nouveau NgModule que les exportations et les
comprend GoComponent puis de les importer NgModule dans FindPageModule et
AddPageModule.
Donc je la sors de l'un et de l'ajouter dans AppModule déclarations, qui ne l'importation FindPageModule et AddPageModule, et j'obtiens une erreur dans un composant appelé "FindFormComponent" qui est dans les déclarations de FindPageModule et utilise des "GoComponent":
zone.js:355 Unhandled Promise rejection: Template parse errors:
'go' is not a known element:
1. If 'go' is an Angular component, then verify that it is part of this module.
2. If 'go' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" style="height:64px;">
<div style="position: relative; display: inline-block; width: 100%;">
[ERROR ->]<go></go>
</div>
</div>
"): FindFormComponent@101:4 ; Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors:(…) Error: Template parse errors:
'go' is not a known element:
1. If 'go' is an Angular component, then verify that it is part of this module.
2. If 'go' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" style="height:64px;">
<div style="position: relative; display: inline-block; width: 100%;">
[ERROR ->]<go></go>
</div>
</div>
"): FindFormComponent@101:4
Comment puis-je laisser des composants tels que FindFormComponent qui sont déclarées dans FindPageModule utilisation GoComponent et aussi laissez-les composants déclarés par AddPageModule utilisation GoComponent?
OriginalL'auteur BeniaminoBaggins | 2016-10-08
Vous devez vous connecter pour publier un commentaire.
Oui, les composants peuvent être déclarées dans un seul module, et ni leur accès hérité de toute façon, le déclarer dans l'application principale du module ne sera pas vous donner accès à n'importe quel autre module.
Si vous avez un composant qui est utilisé par d'autres modules, en général ils chemin à parcourir est de le mettre dans un module partagé
Inclure les composants dans un module partagé:
Comment utiliser le module partagé ailleurs:
Voir Aussi
L'exportation est ce qui me manquait
OriginalL'auteur
Si vous souhaitez utiliser le GoComponent dans plusieurs modules, vous devez être créé un "partage" du module et ajoutez le GoComponent pour le module partagé les exportations. Puis vous importez des modules partagés dans vos autres modules où vous souhaitez utiliser ce composant.
Trouver plus d'informations à ici
Espérons que cette aide!
OriginalL'auteur