使用reflect-metadata和decorators时无法获取元数据

时间:2016-11-03 17:04:23

标签: typescript annotations ecmascript-5

以下是包含我的代码的要点:

import "reflect-metadata";

let metadata_key = Symbol("order");

function GetOrder(target: MyOrder, key: string, value: any) {
  return {
    value : function (...args: any[]) {
      let metadata = Reflect.getMetadata(metadata_key, target, "order");
      console.log("Printing out metadata.....");
      console.log(metadata);
      return value.value.apply(this, args);
    }
  };
}

class MyOrder {

  @Reflect.metadata(metadata_key, false)
  private order : boolean;

  @GetOrder
  public checkMetadata() {
    console.log("Tried to get metadata with decorator");
  }

}

https://gist.github.com/brittcagnina/3f048ce61aca06bd041c8fa67c7e2199

我试图获取元组属性“false”,它是在类成员“order”上设置的,但是新的GetOrder()。checkMetadata()不会将“false”打印到控制台。

所有提示和帮助欢迎!

1 个答案:

答案 0 :(得分:0)

我不确定为什么它对你不起作用,但这有效:

#content {
  background-image: url(https://dumkhum.com/wp-content/uploads/2016/10/SHIVAAY_ISHQAA_1.jpg);
  background-position: 100% 100%;
  width:351px;
  height:250px;
  border:1px solid black;
}