如何将类导出到模块并在带有angular的typescript中的另一个模块中导入它

时间:2017-04-26 10:58:55

标签: angular typescript angular2-forms ng-modules

我有一个类(IGeneric),它被导出到模块A,我在模块B中导入了模块(A),但我无法在导出的类(IGeneric)中使用模块B.

注意:导出的类不是组件,指令和service.it是普通的打字稿类

任何帮助将不胜感激,提前感谢。我要导出的课程

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

3 个答案:

答案 0 :(得分:1)

如果您不想展示课程的整个路径,

Java文件会对您有所帮助

假设您有一个import scala.collection.javaConversions._

的模块import scala.collection.JavaConversions._ object Main { def main (args : Array[String]) : Unit = { val map1 = Map("1" -> 2) val map2 = Map("2" -> 1) map1.getOrElse("1", map2.get("2", 0)) } }

igeneric.model.ts

index

索引文件应位于模块MyModule目录

index.ts

IGeneric

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

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

答案 1 :(得分:1)

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

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

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

public generic: IGeneric;

答案 2 :(得分:1)

有一个技巧可以barrel files 隐藏模块中的详细信息,您可以通过

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

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