2017-06-20 58 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