2017-06-20 14 views
-1

私は以下のコードを持っています。最初の2つの部分が正しく動作するように見えますが、変数の変化に反応する3番目のビットは決して発生しません。何か案は?角度サブジェクト。次は検出されない

サービス

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

それは私がサービスの2つの異なるインスタンスを持っていたので、彼らはでませんでしたが判明同期。プロバイダ宣言をapp.module.tsに移動しなければならなかった

関連する問題