>source

이것은 내 코드입니다 :

require('reflect-metadata');
function logType(target : any, key : string) {}
class Demo{ 
  @logType
  public attr1 : string = null;
}
console.log("test:");
var t = Reflect.getMetadata("design:type", new Demo(), "attr1"); //LINE X
console.log(t.name);

이 코드는 작동하지만 데모 생성자를 사용하지 않고 데모 인스턴스를 만들지 않고 Demo.attr1 유형을 가져와야합니다. 이런 식으로

var t = Reflect.getMetadata("design:type", Demo, "attr1");

어떻게합니까?

  • 답변 # 1

    메타 데이터는 prototype 에 등록되어 있습니다  수업의. 따라서 프로토 타입을 전달하여 메타 데이터를 얻을 수 있습니다.

    var t = Reflect.getMetadata("design:type", Demo.prototype, "attr1"); 
    console.log(t.name); // Object
    
    

관련 자료

  • 이전 java - DynamicJasper를 통해 엔티티없이 jdbc 연결을 사용하여 보고서 생성
  • 다음 html - 위치 - 화면 하단에 끈적 끈적한 div가 없습니다