首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RxJS更新单个对象的最佳实践

使用RxJS更新单个对象的最佳实践
EN

Stack Overflow用户
提问于 2018-04-20 05:11:56
回答 1查看 708关注 0票数 0

我正在构建一个角形5应用程序,让我们跟踪正在进行的武术比赛的得分。分数是从桌面应用程序输入到DB的。然后,webapp从一个带有匹配Id的API调用一个带有匹配Id的API,并使用组件中的检索对象来显示两个战士的得分,作为一个单一记分板对象获取分数。用户将通过单击按钮(或者可能是在计时器上)刷新分数。

我对RxJ和RxJ都很陌生,我遇到的麻烦是找到了一个如何做好这一点的例子。

现在,我已经得到了所有比赛的记分板,然后使用地图和查找筛选出我想要的那个。感觉很粗糙。

总结一下我需要做的。使用唯一Id调用服务方法。使用Id从API中获取一个对象。将该对象返回给组件并将其分配给属性。

任何和所有的建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 05:58:35

在您的服务中,应该有一个返回单个Score的方法。类似于:

代码语言:javascript
复制
getSingleScore(id:string):Observable<Score>{
   return yourHttpCallToAPI...
}

然后,在您的组件中,您可以拥有一个获取Observable的属性。

代码语言:javascript
复制
singleScore$:Observable<Score>;

ngOnInit(){
   this.singleScore$ = myService.getSingleScore(id);
}

最后,在模板中,将singleScore$async管道绑定:

代码语言:javascript
复制
<div *nfIg="singleScore$ | async as score">Whatever property: {{score.whatever}}</div>

PS。

...*nfIg="singleScore$ | async as score"是一个很好的实践,因为这样您只解析async一次,而不像您想要显示的属性那样多次解析async

参考文献:https://angular.io/api/common/NgIf#storing-conditional-result-in-a-variable

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49934416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档