File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,29 @@ after-- - oneDecorator;
290290
291291## Reflect Metadata
292292
293- ```
293+ ` es7 ` 的一个提案,主要作用:在声明的时候添加和读取元数据。
294+
295+ 使用之前,` yarn add reflect-metadata -S ` 并且在` tsconfig.json ` 中配置` emitDecoratorMetadata: true `
296+
297+ ``` javascript
298+ // 使用ts-node编译时,需要配置"module": "commonjs"
299+ // 否则原有基于rollup配置,"module": "ESNext",需要使用(Reflect as any).defineMetadata
300+ import ' reflect-metadata' ;
301+
302+ const user = {
303+ name: ' Rain' ,
304+ };
305+
306+ Reflect .defineMetadata (' data' , ' test' , user);
307+
308+ console .log (Reflect .getMetadata (' data' , user)); // test
309+
310+ @Reflect .metadata (' username' , ' rain' )
311+ class Person {
312+ @Reflect .metadata (' age' , 12 )
313+ getUserAge () {}
314+ }
294315
316+ console .log (Reflect .getMetadata (' username' , Person)); // rain
317+ console .log (Reflect .getMetadata (' age' , Person .prototype , ' getUserAge' )); // 12
295318```
You can’t perform that action at this time.
0 commit comments