为什么我不能在取消订阅后再次订阅同一个EventEmitter

Юра*_*чук 2 typescript angular

我订阅了一个组件(Angular2)的ngOnInit(),然后在ngOnDestroy()中取消订阅.第二次初始化我的组件后,它给了我一个错误:

ObjectUnsubscribedError: object unsubscribed
Run Code Online (Sandbox Code Playgroud)

在我的课上我有:

ngOnInit() {
   this.chatService.getConversationsEvent()
   .subscribe((data:Data<Array<Conversation>>) => {  
      console.log('from correspondence');
   });
   this.scrollToBottom();
}

ngOnDestroy() {
    this.chatService.getConversationsEvent().unsubscribe();  
}
Run Code Online (Sandbox Code Playgroud)

Sre*_*mat 7

试试这个代码.

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();  
        }
    }
Run Code Online (Sandbox Code Playgroud)