我正在尝试在服务中创建一个observable。
然后在一个组件中使用它并在另一个组件中订阅它。已经完成导入,并设置已经完成的提供者数组,只关注观察者的东西
服务代码:
selectedcityobs = Observable.create;
发送信息的组件:
city;
this.venueservice.selectedcityobs obs =>{
obs.next(city);
}
接收信息的组件。
this.venueservice.selectedcityobs
.subscribe(
(city:any)
data =>{
this.city = data;
});
现在很可能我的语法已经过时了,我正试图填补这些漏洞。我不是在寻找疯狂的语法我只是在寻找正确的方法来做到这一点。
我看到了这个答案,令人困惑,没有帮助:Angular2 components fail to communicate via observable in a service
当我尝试将信息传递给此可观察者时出现错误:
this.venueservice.selectedcityobs
obs =>{
obs.next(this.city);
}
错误:此检查报告的表达式语句不是分配或调用。这些语句没有可疑的语义,通常是程序员错误的结果。
答案 0 :(得分:0)
使用新数据“更新”observable:
this.venueservice.selectedcityobs.next(city);
订阅observable:
this.venueservice.selectedcityobs
.subscribe(data => this.city = data);