【发布时间】:2016-10-09 19:00:31
【问题描述】:
我正在尝试使用 middelman(服务)让 2 个组件相互通信。
我有一个类似 Photoshop 的应用程序,我想要一个组件(一个带有按钮的窗口)在我的“imageView”中添加一个图层。
它们都嵌套在其他视图中,所以我不能使用“@Output”。
按钮触发器:
addLayer() {
this._broadcastService.addLayer(0);
}
接收组件:
constructor(private _broadcastService:BroadcastService) { }
ngOnInit() {
this.subscription = this._broadcastService.layer$.subscribe(
data => this.test(data))
}
广播服务:
private _layerSubject = new BehaviorSubject<number>(0);
layer$ = this._layerSubject.asObservable();
addLayer(data: number) {
this._layerSubject.next(data);
}
接收组件没有得到任何东西。他不触发,只有启动一次,我想每次按添加图层按钮时触发一些东西。
谢谢!
【问题讨论】:
-
有什么问题?
-
什么不起作用?
-
订阅的组件没有更新
标签: typescript angular components rxjs observable