类型'typeof Reflec上不存在属性'getMetadata'

kha*_*uri 7 typescript angular

我想使用Reflect来获取我的组件的模板,我得到了这个错误

   console.log(Reflect.getMetadata('annotations',SectionsTemplateComponent)[0].template);
Run Code Online (Sandbox Code Playgroud)

知道我在packege json中反映了元数据

谢谢

Key*_*rad 13

检查您是否已完成以下几项:

  1. 安装reflect-metadata
// if you have npm as your package manager
npm install reflect-metadata

// if you have yarn as your package manager
yarn add reflect-metadata
Run Code Online (Sandbox Code Playgroud)
  1. 将其包名称types作为编译器选项放入数组中tsconfig.json
// if you have npm as your package manager
npm install reflect-metadata

// if you have yarn as your package manager
yarn add reflect-metadata
Run Code Online (Sandbox Code Playgroud)
  1. 将其导入到源文件中:
import 'reflect-metadata';
Run Code Online (Sandbox Code Playgroud)

这3个就可以了!


小智 12

对我来说,添加import 'reflect-metadata'修复问题.


Thi*_*ier 0

这应该有效。您是否在 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>
Run Code Online (Sandbox Code Playgroud)