J'ai une classe (IGeneric
) qui est exportée vers le module A et j'ai importé ce module (A) dans le module B, mais je ne pouvais pas utiliser cette classe exportée (IGeneric
) dans le module B.
Remarque: cette classe exportée n'est pas un composant, une directive et service.it est une classe TypeScript pure.
Toute aide sera appréciée, merci d'avance. La classe que j'essaie d'exporter
export class IGeneric{
header : any[];
content : [{
lable :any,
value :any
}]
}
Cela ressemble à un problème d'importation/exportation de module ES6/TypeScript plutôt qu'à un problème pour le système NgModule (complètement différent et séparé). Si tel est le cas, vous devez simplement import
la classe de votre choix à partir du fichier que vous souhaitez en haut du fichier .ts, par exemple:
import { IGeneric } from './relative/path/to/definition';
puis utilisez la classe comme vous le feriez normalement dans un composant/service, etc.
public generic: IGeneric;
Il y a une astuce pour hide les détails dans un module par barrel files
, via lequel vous pouvez
index.ts
) dans ce module, etEn guise de suivi, il existe une autre réponse pour élaborer ce que vous pouvez obtenir en utilisant des fichiers baril.
Le fichier index
vous sera utile si vous ne souhaitez pas afficher le chemin d'accès complet de votre classe.
Supposons que vous ayez un module MyModule
dans lequel vous avez IGeneric
classe
igeneric.model.ts
export class IGeneric{
header : any[];
content : [{
lable :any,
value :any
}]
Le fichier d'index doit se trouver dans votre répertoire Module MyModule
index.ts
export * from 'app/MyModule/igeneric.model';
Ensuite, dans votre composant, vous pouvez importer
import {IGeneric} from 'app/MyModule'