5

我有一个IGeneric导出到模块 A 的 class(),我在模块 B 中导入了那个 Module(A),但是我不能在模块 B 中使用那个导出的 class( IGeneric)。

注意:导出的类不是组件、指令和服务。它是一个普通的打字稿类

任何帮助将不胜感激,在此先感谢。我要导出的类

export class IGeneric{
header : any[];
content : [{
   lable :any,
   value :any
}]
}
4

3 回答 3

2

有一个技巧可以隐藏模块中的细节barrel files,通过它你可以

  • 只需将桶文件(通常命名为index.ts)引入该模块,然后
  • 导出您打算在该桶文件中导出的所有内容,然后
  • 每当您尝试使用导出的类/接口或组件时,导入模块路径;

作为后续,还有另一个答案来详细说明使用桶文件可以实现的目标。

于 2019-02-03T04:45:25.623 回答
1

index如果您不想显示班级的整个路径,文件将对您有所帮助

假设您有一个模块MyModule,其中有IGeneric课程

igeneric.model.ts

export class IGeneric{
header : any[];
content : [{
   lable :any,
   value :any
}]

索引文件应该在您的模块MyModule目录中

索引.ts

export * from 'app/MyModule/igeneric.model';

然后在您的组件中,您可以导入

import {IGeneric} from 'app/MyModule'
于 2017-04-26T11:03:11.627 回答
1

这看起来像是 ES6/Typescript 模块导入/导出问题,而不是(完全不同且独立的)NgModule 系统的问题。如果是这种情况,那么您只需import从 .ts 文件顶部的文件中获取所需的类,例如:

import { IGeneric } from './relative/path/to/definition';

然后像通常在组件/服务等中一样使用该类

public generic: IGeneric;
于 2017-04-26T11:09:32.717 回答