我是否可以知道我的对象的后代属性是否已被更改? 我可以订阅一些会注意到我的事件吗?
答案 0 :(得分:0)
如果它们是@Input() myProp
,那么您可以使用ngOnChanges(changes)
实施@Output()
并触发事件,但是您需要准备好您的descandants来执行此操作。
@Component({
selector: 'child-cmp'
}) {
export class Child {
@Input() fooInput:string;
@Input() barInput:number;
@Output() changes:EventEmitter = new EventEmitter();
ngOnChanges(changes) {
this.changes.emit(changes);
}
}
<child-cmp (changes)="childChangesHandler($event)">
@Output()
发出的事件不会冒泡,因此您只会收到直接子女的通知。如果您需要更多级别,请使用共享服务。