2017-06-20 157 views
-1

我有以下幾段代碼。我可以看到,前兩部分似乎正常工作,第三位對變量變化的反應從未發生。有任何想法嗎?角度對象下一個未被檢測到

服務

import { Injectable } from '@angular/core'; 
import { Subject } from 'rxjs/Subject'; 

@Injectable() 
export class ConversationService { 
    private convoIdSource = new Subject<number>(); 

    convoIdChanged = this.convoIdSource.asObservable(); 

    changeConvo(newConvoId: number){   
     this.convoIdSource.next(newConvoId); 
    } 
} 

變化

openTeamChat(chatId: number){ 
    this.convoService.changeConvo(chatId); 
} 

假想的檢測

convoService.convoIdChanged.subscribe(convoId => { 
    console.log(convoId); 
    this.convoId = convoId; 
}); 

回答

0

原來我有服務的兩個不同的實例,所以他們不同步。我必須將提供程序聲明一直移動到app.module.ts