【问题标题】:Angular2: declare vars for all componentsAngular2:为所有组件声明变量
【发布时间】:2016-12-27 12:02:30
【问题描述】:

我正在使用公司范围内的内部托管 js 库。我在 index.html 文件中引用了脚本。为了让它工作,我在我的根组件中使用了“declare”关键字来在应用加载时初始化一些东西:

declare const someInternalLibrary: any;

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

【问题讨论】:

    标签: angular inheritance components


    【解决方案1】:

    您可以在您的应用程序中使用typings 定义来声明您的内部库。

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

    要了解更多如何编写声明文件,您可以查看here (Writing Declaration Files)

    【讨论】:

    • const 工作正常,谢谢!我并没有真正了解功能的一部分,或者更确切地说是如何做到这一点。我不认为它只是将所有东西都粘贴到 typings.d.ts... :D 你对此有任何参考吗?
    • 对于你只需要声明定义的函数,而不是整个实现,我分享的链接有关于如何编写它们的详细信息。
    【解决方案2】:

    您可以尝试使用依赖注入令牌(非类依赖或 OpaqueToken)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-02
      • 2013-07-15
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多