Angular2:声明所有组件的变量

时间:2016-08-20 12:19:15

标签: angular inheritance components

我使用的是公司范围内部托管的js-library。我在index.html文件中引用了该脚本。为了让它工作,我使用了"声明"我的根组件中的关键字,用于在应用加载时初始化一些内容:

declare const someInternalLibrary: any;

现在,在另一个组件中,我想使用相同的库来做其他一些事情。 如何在不重复上面一行代码的情况下使用它?我觉得这不会太干净。是否有类似子组件的继承?我读了一些关于声明的内容,因为我对ng2很新,但我并没有真正看到这种说法。

2 个答案:

答案 0 :(得分:1)

您可以在申请中使用typings定义来声明您的内部库。

如果您使用的是angular-cli,那么有一个typings.d.ts文件,您可以添加所有自定义声明。即使您可以从内部库中定义所有函数,然后它们将为您提供intellisense

要了解更多如何撰写宣言文件,您可以查看here (Writing Declaration Files)

希望这会有所帮助!!

答案 1 :(得分:0)

您可以使用依赖注入令牌(非类依赖项或OpaqueToken)来尝试此操作

https://angular.io/docs/ts/latest/guide/dependency-injection.html#!#dependency-injection-tokens