【问题标题】:using Reflect.getMetadata() in angular 2.0.0-rc1?在角度 2.0.0-rc1 中使用 Reflect.getMetadata()?
【发布时间】:2016-06-14 06:13:02
【问题描述】:

如何在 Angular 2.0.0-rc1 中使用 Reflect.getMetadata()

我在类型ambient/es6-shim 中找到了Reflect 命名空间的定义。我应该安装任何软件包吗?

【问题讨论】:

  • Reflect 用于处理 Angular2 中的装饰器。查看 @Thierry Templierthis article 了解更多信息。

标签: typescript angular angular-decorator


【解决方案1】:

我是这样使用它的:

window['Reflect'].getMetadata('annotations', target);

【讨论】:

    【解决方案2】:

    其实有两部分:

    • 汇编一。在这种情况下,您需要打字。它现在是 core-js 类型的一部分。

    • 执行者。您需要将Reflect.js 包含在您的主 HTML 页面中。

      <script src="node_modules/zone.js/dist/zone.js"></script>
      <script src="node_modules/reflect-metadata/Reflect.js"></script> <----
      <script src="node_modules/systemjs/dist/system.src.js"></script>
      

    这样做你可以在你的代码中调用Reflect.getMetadata()

    【讨论】:

    • 我已将 es6-shim 替换为 core-js 2.4.0。在typings/globals/core-js/index.d.ts' and namespace Reflect` 中没有getMetadata 因此VSC 不能使用它:(
    • 我已经克隆了original quickstart 项目,但命名空间Reflect 没有getMetadata
    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2018-01-04
    • 1970-01-01
    • 2013-08-30
    • 2017-12-29
    • 2018-07-19
    • 1970-01-01
    • 2016-09-14
    相关资源
    最近更新 更多