父子组件通讯与监听

2018-11-16  本文已影响3人  柳源居士

一. 单输入型属性传递与监听

通常父子组件传递信息的方法:

<app-child *ngFor="let parent of  parents " [child]="parent">
</app-child>

通过属性绑定,把parent传入子组件的child属性中,通常在子组件中,child是用@input()修饰的属性。

这个过程相当于调用了子组件的setter方法:

set child (parent){
  this.child=parent;
}

二. 当监听多个、交互式 输入型属性时:使用ngOnChanges()方法。

ngOnChanges():
当 Angular(重新)设置数据绑定输入属性时响应。 该方法接受当前和上一属性值的 SimpleChanges 对象。
当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在 ngOnInit() 之前。

interface SimpleChanges {
  __index(propName: string): SimpleChange
}

class SimpleChange {
  constructor(previousValue: any, currentValue: any, firstChange: boolean)
  previousValue: any
  currentValue: any
  firstChange: boolean
  isFirstChange(): boolean
}

父组件实现onChange接口,在ngOnChanges(){}里实现响应。

上一篇下一篇

猜你喜欢

热点阅读