<vpn-services class="vpn-services" [(callSEntry)]="callSEntry"></vpn-services>
在父母身上我有方法:
callSalesEntry() {
this.callSEntry = true;
}
在孩子我有这个:
ngOnChanges(){
console.log(this.callSEntry,'aaaa');
}
但它只发射一次。
答案 0 :(得分:1)
我认为Event emitter可以帮你解决问题
虽然您可以直接在子组件中使用它,但是在这里使用公共服务将是一个很好的做法
首先,您需要在服务中创建类似
的发射器export class EmitterService {
public callSEntryEmitter:EventEmitter<boolean>=new EventEmitter();
}
然后在root组件中注入服务依赖项并调用change name方法来发出更改
constructor(private emitter :EmitterService) {}
callSalesEntry() {
this.emitter.callSEntryEmitter.emit(true);
}
最后,子组件订阅了更改
this.emitter.callSEntryEmitter.subscribe(value=>{do something here})
像这样plunker