如何知道@Input何时发生变化



我正在将不同的id从父组件传递到子组件。

父组件

<child-component id={{id}}></child-component>

子组件

@Input('id') id:string;

id发生变化时如何获取事件?我想在子组件中id更改时运行一个函数。

谢谢

> 实现ngOnChanges(changes) .当输入值更改时调用它。

它在ngOnInit()之前被调用一次

你也可以写一个二传手。根据我的经验,当 @Input() 在数组上时,既不调用 setter 也不调用 ngOnChanges,因为在这种情况下数组的引用不会改变。幸运的是,如果数组项发生变化,则会调用 ngDoCheck。

https://angular.io/docs/ts/latest/cookbook/component-communication.html

最新更新