避免多次调用observable $ | Angular 2+中的异步

时间:2017-06-19 15:20:38

标签: angular rxjs observable

在我的组件中,我注入了一个服务,它提供当前语言作为可观察的语言。在该组件模板中,我基于用户的语言环境多次显示价格,以这种方式:

<p>{{price.toLocaleString(languageService.getCurrentLanguage() | async, { style: 'currency', currency: 'EUR' })}}</p>

问题是我在模板上有10个async个调用,即使languageService实际上将主题作为共享可观察对象返回,有效创建一个共享流而不是每个不同的流async管道订阅的时间,我愿意相信有更好的方法可以做到这一点。

1 个答案:

答案 0 :(得分:0)

将observable分配给一个字段并改为绑定到该字段:

<p>{{price.toLocaleString(currentLanguage() | async, { style: 'currency', currency: 'EUR' })}}</p>
constructor(languageService:LanguageService) {
 this.currentLanguage = languageService.getCurrentLanguage();
}