如何从 rxjs 流中过滤单个值以在 Angular 2 组件中打印
Posted
技术标签:
【中文标题】如何从 rxjs 流中过滤单个值以在 Angular 2 组件中打印【英文标题】:How to filter single value from an rxjs stream to print in angular 2 component 【发布时间】:2017-05-23 06:14:51 【问题描述】:我在 Angular 2 组件中有这两个 rxjs 流。一个列表包含发言人,另一个列表包含语言。每个说话者都有一个外键,可以在语言列表中找到。
speakers: FirebaseListObservable<any[]>;
languages: FirebaseListObservable<any[]>;
现在我想针对*ngFor
中的每个演讲者打印语言名称,或者让我给你一个角度表达我想为每个演讲者 html 标记打印的内容。
<p>speaker.Name , speaker.Language_Id, speaker.getLanguage(), getLanguage(speaker.Language_Id)</p>
.
我正在使用speaker.getLanguage()
和getLanguage(speaker.Language_Id)
来知道哪个更好并且两者都可能?
我没有在 TypeScript 代码中定义客户端的类型。我需要吗?
我尝试在组件中创建一个函数,但它说 find
在 FirebaseListObservable 类型上不存在。这就是在平面javascript中的简单性:-P。
getLanguage(languageId: number):string
return this.languages.find(x=>x.Id==languageId).
【问题讨论】:
【参考方案1】:它应该如何知道 languageId 是 any[] 的属性?
我怀疑您可能需要在这种情况下输入,但我不会将其归因于您当前的问题。
要解决查找功能问题,请查看文档here。
根据文档,该类型下没有列出 find ,您可能需要使用提供的 toArray 方法将其转换为数组。
这个数组应该有你想要的查找功能:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
【讨论】:
以上是关于如何从 rxjs 流中过滤单个值以在 Angular 2 组件中打印的主要内容,如果未能解决你的问题,请参考以下文章
python 格式化单个值以在符合RFC4180的CSV文件中使用。使用逗号将这个函数返回的多个值连接到crea
从 xxx.plist 获取值以在 Target 中构建设置
如何从将服务扩展到 MainActivity 的 LocationServices 活动传递纬度 n 经度值以在屏幕上显示它们而不是 Log.d
如何使用 PyQt5 QThread 从 CLASS(ShowVideo) 中获取值以在第二个 CLASS(ImageViewer) 中使用(根据我的程序)