这是一个示例组件
export class childComponent implements OnChanges {
@Input idToCheck: number
public myData;
constructor(private myService:MyService){}
ngOnChanges() {
this.myService.getData(id).subscribe(data-> {
this.myData = data;
})
}
这是最好的方法吗?因为每次输入更改时都会调用订阅,我可以将其放在onInit函数上吗?
感谢和问候
答案 0 :(得分:0)
在这种情况下,我更喜欢使用setter
函数,例如:
@Input() set idToCheck (id: number) {
// ignore the value if id is undefined
if(id == undefined) return;
// call the service function when the id is passed
this.myService.getData(id).subscribe(data-> {
this.myData = data;
});
}
因此,每次父组件更改 idToCheck 输入的值时,将调用这些行。
我认为这是更简单明了的方式。
详细了解setter。