我想捕获一个组件中的事件,该组件是从另一个组件发出的事件。
我做了以下代码
myservice.ts
private _event = new EventEmitter<any>();
get event(): EventEmitter<any> {
return this._event;
}
mycomponent_2.ts
this.myservice.event.emit(true);
mycomponent_1.ts-在ngOnInit()中添加了以下代码>
this.myservice.event.subscribe((value) => { console.log(value); });
未打印预期的控制台日志。看起来该事件未在component_2中捕获]
我该如何解决?我是否需要将代码移至其他生命周期挂钩?
我想捕获一个组件中的事件,该事件是从另一个组件发出的事件。我做了以下代码myservice.ts private _event = new EventEmitter
使用主题
:主题就像一个可观察对象,但是可以多播到许多观察者。主题就像EventEmitters:它们维护着许多侦听器的注册表。您应该使用ReplaySubject使其发出先前发出的值。 EventEmitter发出后会丢失任何值。
[如果要使用事件,请继续阅读。我创建了一个仓库,并通过在事件中添加@output来使其正常工作: