为什么我不能在取消订阅后在同一个EventEmitter上订阅
我在组件(Angular2)的ngOnInit()中订阅,然后在ngOnDestroy()中取消订阅。我的组件的第二初始化后,它给我一个错误:为什么我不能在取消订阅后在同一个EventEmitter上订阅
ObjectUnsubscribedError: object unsubscribed
在我的课,我有:
ngOnInit() {
this.chatService.getConversationsEvent()
.subscribe((data:Data<Array<Conversation>>) => {
console.log('from correspondence');
});
this.scrollToBottom();
}
ngOnDestroy() {
this.chatService.getConversationsEvent().unsubscribe();
}
试试这个代码。
chatObservable:any;
ngOnInit() {
this.chatObservable=this.chatService.getConversationsEvent()
.subscribe((data:Data<Array<Conversation>>) => {
console.log('from correspondence');
});
this.scrollToBottom();
}
ngOnDestroy() {
if(!chatObservable.closed()){
this.chatObservable.unsubscribe();
}
}
似乎是工作,我要检查它carefuly,如果它的作品,我会率你。而且在ngOnDestroy中,你会错过this.chatObservable。我只是新来的,不知道如何编辑它。 –
谢谢你,你是最棒的。主要观点是新变量chatObservable并从该变量你必须退订! –
Cool @ЮраАрабчук – Sreemat
这里添加一些代码 – Sreemat
添加的代码有点 –