问题标签 [reflect-metadata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1424 浏览

typescript - @Reflect.metadata 生成错误 TS1238:作为表达式调用时无法解析类装饰器的签名

按照reflect-metadata.d.ts第 82-84 行的示例,我尝试将@Reflect.metadata装饰器应用于 TypeScript 类:

但是,TypeScript 1.7.2 编译器在该行生成以下错误@Reflect.metadata

错误 TS1238:作为表达式调用时,无法解析类装饰器的签名。
无法调用其类型缺少调用签名的表达式。

怎么了?

0 投票
2 回答
4398 浏览

node.js - nodejs中的Typescript Reflect-MetaData

有没有人有任何关于如何在 nodejs 中使用反射元数据的例子?我也在使用原子打字稿。我通过 npm 下载使用它,但我不断收到随机错误。我看到 Reflect 是一个空白对象。只是寻找如何将其合并到模块或节点项目中的示例。

0 投票
1 回答
310 浏览

angular - 我们可以遍历Angular 2中用@Output()装饰的所有EventEmitter吗

我想要实现的是对于给定的组件实例,我想遍历所有EventEmitter@Output.

例如

我的组件

所以可以说我正在动态加载这个组件,如下所示,

我可以这样做吗?提前致谢!!

0 投票
2 回答
627 浏览

angularjs - Typescript:装饰器在 Angular 项目和 typescript 操场上的行为不同

当我发现Typescript的私有根本不是私有的并且get set属性没有通过JSON.stringify输出时,我需要将一个对象序列化为angular 2.0.0-rc1中的json。

所以我开始装饰班级:

Typescript 操场上,这给出了

但在我的项目(角度 2.0.0-rc1)中,这给出了

我真正追求的是操场上的输出#3。

看了一下转译后的代码,唯一的区别是 reflect-metadata 的代码:

操场上没有这些__metadata台词。

这里发生了什么?我怎样才能在我的项目中实现 Playground 的#3 结果?

0 投票
3 回答
3355 浏览

javascript - 尝试配置一个新的 webpack + angular2 项目,我收到错误 TS2384: Overload signatures must all beambient or non-ambient

我正在尝试配置一个新的 webpack + angular2 项目,但出现了一些错误:

当我使用“npm start”时,我遇到了很多这样的错误:

这是我的代码:

包.json

webpack.config.js

polyfills.ts

供应商.ts

应用程序.ts

app.component.ts

该应用程序运行正常,但我在控制台中遇到大量错误。有谁知道为什么?

谢谢!

0 投票
2 回答
2320 浏览

angular - 使用类装饰器时需要未捕获的反射元数据填充程序

在尝试使用 typescript 和 npm 运行我的 Angular2 应用程序时,我收到标题错误。正如在类似主题中所说,我尝试了“import 'reflect-metadata';”但它没有用。

这是我的 package.json 文件中的依赖项:

在此先感谢您的时间

PS:这发生在我将应用程序从 rc4 升级到 rc5 之后

编辑 1

有关错误的更多详细信息:

0 投票
1 回答
1553 浏览

angular - 在模块化 Angular 2 组件项目中解决“使用类装饰器时需要反射元数据垫片”

我正在尝试创建一个包含 Angular 2 装饰器的打字稿包。这个包的目的是导出一个 NgModule 以在 npm 安装后导入到更大的项目中。

当我尝试通过 jasmine 运行测试时,我收到错误消息:

我的 package.json 中有这些包:

我试图将反射元数据导入项目,但它不起作用......我能够成功运行所有测试。这里的问题是当我尝试导入模块并使用导出的组件时。我留下了这个问题:

如果我尝试只使用模块而不添加导入,那么它不会识别任何 Angular 指令属性,并且会针对 html 中的每个方面发出错误。示例错误如下所示:

这是查看如何处理导出的索引文件:

我一直在寻找其他项目以及他们如何做到这一点,但我找不到任何特别不同的东西......我不确定我缺少什么或不明白让这些 Angular 装饰器从外部构建根项目。

0 投票
1 回答
654 浏览

typescript - 使用 Reflect 时的函数而不是接口名称

我在字段装饰器中使用反射有问题。我创建了一个具有以下签名的装饰器:

我在字段上使用@Inject。它在字段类型为类时有效,但当字段类型为接口时,它返回Function的不是接口的名称。我该如何解决?

0 投票
1 回答
3725 浏览

javascript - Angular2 无法更新到 RC7 - zone.js & reflect-metadata

我试图让我的应用程序使用新的 RC7 角度运行,但我似乎无法完成它,因为控制台喊道:

当它以某种方式消失时,会弹出:

看起来实现发生了变化,尽管我npm install从头开始编辑所有内容,但我的并没有更新,更新我package.json的如下:

index.html:(我也试过参考 unpkg.com的包,没有成功)

知道如何解决这个问题吗?

提前致谢!:)

0 投票
5 回答
874 浏览

angular - Angular 2(2.0.0 到 2.2.0~)在使用“import 'reflect-metadata'”行添加自定义装饰器时出错

在我基于gulp的项目中,我试图实现一个自定义装饰器以进行数据验证,但由于这个错误,我一度陷入困境:

或者在其他情况下出现这样的错误:

然后我开始做一些测试,我发现导致这个错误的行是:

以下是英雄之旅教程的两个版本:

导入反射元数据导致的错误。

并与解决方案。

编辑

我通过添加我确信此修复程序有效的 angular 版本来编辑标题,从版本 1.3.0 我在使用装饰器时遇到问题,这就是为什么我将我的项目从 gulp 移动到 webpack