【发布时间】:2017-12-13 13:39:15
【问题描述】:
我从控制器向主题输入参数
selectImport(event){
this.importacionService.onChildSelectImportChanged.next(event);
}
从我的组件importacion.component.ts 我订阅了这个主题
this.importacionService.onSelectImportChanged.subscribe( addImport => {
this.importacionService.addImport(this.month, addImport);
});
}
现在一切都很好,但是当我关闭 importacion.component.ts 的对话框并再次执行此操作时,主题会创建第二个 suscbripcion 并因此创建 2 个观察者,然后当我使用 .next() 输入新数据时订阅者运行两次。
我怎样才能控制这种行为, 我的预期行为是仅在我的主题中存在和参数,并且仅在其值更改时运行
【问题讨论】:
-
您只需要在关闭对话框时取消订阅
-
我收到一条错误消息“对象已取消订阅”
标签: angular rxjs reactive-programming subject-observer