我使用的是公司范围内部托管的js-library。我在index.html文件中引用了该脚本。为了让它工作,我使用了"声明"我的根组件中的关键字,用于在应用加载时初始化一些内容:
declare const someInternalLibrary: any;
现在,在另一个组件中,我想使用相同的库来做其他一些事情。 如何在不重复上面一行代码的情况下使用它?我觉得这不会太干净。是否有类似子组件的继承?我读了一些关于声明的内容,因为我对ng2很新,但我并没有真正看到这种说法。
答案 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