0
votes

Comment utiliser le composant angulaire importé d'un module partagé dans un autre composant autre que l'appelcomponent

en utilisant angular8

j'ai créé un module ( graphique ) qui exporte d'autres composants. Je pourrais importer le module dans app.module.ts Fichier et utiliser les modèles exportés dans app.component.html , essayant de la même composante en créant un autre composant avec un Module qui importe graphsmodule ne fonctionne pas.

graphiqueModule xxx

à l'intérieur de app.module.ts xxx

à l'aide des modèles à l'intérieur app.commet.html; xxx < / Pré>

question;

Comment puis-je atteindre le même effet en importation graphsmodule dans le composant X. C'est ce que j'ai fait; Générez des composants X et ajoutez un module importer graphsmodule , puis pour utiliser les modèles à l'intérieur x.html .

x.module. ts xxx

à l'intérieur de x.component.html xxx

i Obtenez l'erreur; xxx


1 commentaires

Xcomponent est-il déclaré dans votre xModule?


4 Réponses :


3
votes

Le composant x doit être membre du module certains . Importer graphiquesModule là.


4 commentaires

Je pense qu'il a fait (déclarant x composant dans le module x), sans déclarer x composant comment peut-il accéder à ce composant? Parce qu'il devrait obtenir une erreur indiquant x composant doit être déclaré dans votre module, etc.


Je ne sais pas où x composant est déclaré, mais ce n'est pas Appmodule (car il aurait accès aux exportations de graphique ), et ce n'est pas xmodule (car il a déclarations: [] ).


J'ai importé x composant à l'intérieur du module d'application


C'est inattendu. Chaque composant déclaré dans le même module devrait avoir toutes ses qualités importées disponibles. Quelle est la différence entre appelcomponent et xcomponent ?



0
votes

Vous devez déclarer xcomponent code> dans xmodule code> pour le résultat requis.

x.module.ts strong> p>

import { NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { ChartsModule } from '../data-charts/charts.module';
// Import `XComponent` here.

@NgModule({
  declarations: [XComponent], // Just added reference. 
  imports: [
    CommonModule,
    ChartsModule
  ],
  // schemas:[CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
})

export class XModule { }


2 commentaires

Je pense qu'il a fait (déclarant x composant dans le module x), sans déclarer x composant comment peut-il accéder à ce composant? Parce qu'il devrait obtenir une erreur indiquant x composant doit être déclaré dans votre module, etc.


Dans x.module.ts , il a importé graphesmodule . Et selon sa description, xcomponent appartient à xmodule . Ainsi, XComponent doit être déclaré dans ce module selon mon hypothèse.



0
votes

C'est ainsi que cela a été résolu;

J'ai importé xComponent dans xModule, supprimé xcomponent importation de app.Module.ts et xmodule importé à l'adresse app.module.ts;

xmodule. TS xxx

app.module.ts xxx


0 commentaires

1
votes

L'erreur est dans vos importations d'Appmodule. Vous ne peut pas importer composants , seul modules que a composants.

Dans ce cas, vous devez mettre votre xcomponent à l'intérieur des déclarations : [] de votre xmodule pour une solution correcte.

Quoi qu'il en soit, si vous souhaitez utiliser des composants que Whitin graphsmodule, vous devez déclarer votre Xcomponent à l'intérieur DÉCLARATIONS: [] de tout module contenant des cartes graphiques à l'intérieur de son Importations: []

J'espère que cela aide!


0 commentaires