我有下一个HTML:
@Input() district: District;
ngOnChanges(changes: SimpleChanges) {
console.log("CHANGED")
}
dsChange(){
console.log(this.district);
}
我还有下一个组件
{$post->title|escape}
我无法理解为什么当我选择某个值时,dsChange会被触发正确的分区值,但是ngOnChanges()不是
答案 0 :(得分:5)
ngOnChanges
。在您的情况下,如果父组件为@Input() district
设置新值,则会调用它。
ngOnChanges()
Angular(重新)设置数据绑定输入属性时的响应...在ngOnInit()之前以及每当一个或多个数据绑定输入属性发生更改时调用。
答案 1 :(得分:1)
即使变量是组件的本地变量,它也不会调用onChanges
。我为此创建了一个plukr: