我有一个父组件和子组件,我希望父组件能够触发子组件中的函数,同时也允许子组件触发父组件中的函数。这是我为子级触发父级中的函数所做的事情:
child
@Output() callParentFunction = new EventEmitter<any>();
...
this.callParentFunction.emit();
父级
template: `
<child-component
(callParentFunction)="parentfunction($event)"
>
</child-component>
`
这可以触发parentfunction
,但我该如何朝另一个方向走呢?我需要使用父级的事件发射器来触发子函数。
最佳答案
尝试这样
父级
template: `
<child-component
[events]="eventsSubject.asObservable()"
>
</child-component>
`
private eventsSubject: Subject<void> = new Subject<void>();
anyfunction(){
this.eventsSubject.next()
}
child
@Input() events: Observable<void>;
ngOnInit() {
this.events.subscribe(() =>
//do something
);
}
关于angular - 如何使用事件发射器触发子组件和父组件中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59312138/