如何读取角度组件中的所有@input成员?

Yan*_*Rui 0 decorator angular

我需要使用 @Input() 装饰器读取角度组件中的所有属性。我尝试了reflect和reflect-metadata,但都失败了,如何实现这个功能?

Yan*_*Rui 5

function getComponentMeta(compType): { inputs, outputs } {
    const props = compType.__prop__metadata__;
    const inputs = [];
    const outputs = [];
    for (const prop in props) {
      const member = props[prop][0];
      if (member.ngMetadataName === 'Input') {
        inputs.push(prop);
      }else if (member.ngMetadataName === 'Output') {
        outputs.push(prop);
      }
    }
    return {
      inputs: inputs.sort(),
      outputs: outputs.sort()
    };
  }
Run Code Online (Sandbox Code Playgroud)