我有以下几点代码。我可以看到前两个部分似乎正常工作,第三位对变量的变化做出反应永远不会发生。有什么想法吗?
服务
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 :(得分:0)
事实证明我有两个不同的服务实例,因此它们不同步。我不得不将提供者声明一直移到app.module.ts