Angular Subject.Next未被检测到

时间:2017-06-20 20:02:21

标签: angular rxjs

我有以下几点代码。我可以看到前两个部分似乎正常工作,第三位对变量的变化做出反应永远不会发生。有什么想法吗?

服务

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;
});

1 个答案:

答案 0 :(得分:0)

事实证明我有两个不同的服务实例,因此它们不同步。我不得不将提供者声明一直移到app.module.ts