【发布时间】:2017-03-02 14:40:46
【问题描述】:
我已经阅读了很多教程,完成了演示等。但我仍然无法用正确的方法来使用 Observables 来做这件事......
基本上我拥有(角度)是我的组件中的 2 个可变数组,一个 displayList 和一个完整的项目列表...模板在 displayList 上执行 ngFor。
屏幕上的过滤器调用组件中的过滤器函数清除displayList,然后循环遍历fullList,如果过滤器适用,则将其推送到显示列表-在屏幕上提供实时列表过滤效果......
我知道这是处理此问题的错误方法,但我无法完全理解使用可观察对象执行此操作所需的架构/模式。我是否制作一个主列表并基于组件私有属性在其上运行 .filter() ?我是否对返回带有 .filter 的可观察列表的方法执行 ngFor?
提前致谢。
【问题讨论】:
-
除非有一些你无法实现的功能,除非你使用 observables 我认为你的方法听起来不错。您可以为您的 displayList 创建一个 BehaviorSubject 例如
displayList = new BehaviorSubject([])并使用displayList.next(newDisplayList)更新它。然后你可以在 ngFor 中使用*ngFor="item in displayList | async"绑定它。但我不一定认为这种方法有好处
标签: angular rxjs observable