[英]Angular 4: Get all properties that are decorated with @Input
我有一个具有多种属性的输入组件,其中一些使用@Input
装饰器进行装饰。
如何在运行时查看哪些属性具有@Input
装饰器?
因此,例如使用以下类:
export class MyInputComponent {
@Input() min: number;
@Input() max: number;
ignoreMe: number;
}
我想要以下结果:
> [ 'min', 'max' ]
没有针对此问题的官方解决方案,但是如果使用了您的输入,您可以通过像这样实现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)));
}
}
希望能帮助到你 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.