我正在研究这个angular2 app,我在一个组件中接受两个输入。
我已经使用ngOnChanges来检测这些输入值的变化。
@Input() games: any;
@Input() selectedGame:any;
ngOnChanges(changes: {[propName: string]: SimpleChange}) {
this.selectedGame=changes['selectedGame'].currentValue; //this works
this.games=changes['games'].currentValue; //this doesn't work
}
但是,我只能检测第一个变量的变化。当其值在父级中更改时,第二个变量不会更新。
任何输入?
答案 0 :(得分:1)
根据父组件的更改,可能会为每个输入更改单独触发ngOnChanges。您需要先检查哪个输入已更改。
ngOnChanges(changes: SimpleChange}) {
if(changes['selectedGame'] !== undefined)
this.selectedGame=changes['selectedGame'].currentValue;
if(changes['games'] !== undefined)
this.games=changes['games'].currentValue;
}
答案 1 :(得分:1)
您应该使用SimpleChanges
的{{1}}实例,它将为您提供所有输入参数列表。
SimpleChange