我有一个具有各种属性的输入组件,其中一些使用@Input
装饰器进行装饰。
如何在运行时看到哪些属性具有@Input
装饰器?
例如,使用以下类:
export class MyInputComponent {
@Input() min: number;
@Input() max: number;
ignoreMe: number;
}
我想要以下结果:
> [ 'min', 'max' ]
答案 0 :(得分:2)
此问题没有官方解决方案,但是如果您使用了输入,则可以通过这样的方式OnChanges
来观察他们的更改并获取他们的名字:
export class MyInputComponent implements OnChanges{
@Input() min: number;
@Input() max: number;
ignoreMe: number;
list = [];
ngOnChanges(changes: SimpleChanges) {
for (let propName in changes) {
this.list.push(propName);
}
console.log("list :",Array.from(new Set(this.list)));
}
}
希望有所帮助:)