【发布时间】:2020-01-30 23:27:04
【问题描述】:
我有以下结构:
- 主要组件(通过 item-service 渲染项目)
- 面板组件(包含搜索组件)
- SerachByTitle 组件(包含标题项的输入字段)
- SerachBySomething 组件(包含某物项的某物输入字段)
- 面板组件(包含搜索组件)
- 物品服务
当用户在 SerachByTitle 组件中输入标题时,我想在主组件中呈现项目(适合搜索请求)。
为此,我使用了 EventEmitter: Panel-component、SerachByTitle-component 和 SerachBySomething-component 都有装饰器@Output。
SerachByTitle 和 SerachBySomething 将数据传递给 Panel-component,Panel-component 形成单个 object-params,然后传递给 Main-component。
当用户输入标题时,我遇到了一个问题——在每个 keyup 主组件重新渲染项目之后。我尝试使用组合:debounceTime(timeDelay)、 distinctUntilChanged()、switchMap(),但对我没有帮助。
我做错了什么?
对不起我的英语不好:(
UPD:为了了解我的情况,我添加了example。 对于主要组件,我使用了组合:debounceTime()、 distinctUntilChanged()、switchMap()。但不存在搜索延迟。
【问题讨论】:
-
你能写出一些你工作过的代码,作为我们帮助你做一个具体例子的基础吗?
-
Exomus,谢谢!我添加了指向 stackblitz 的链接
标签: angular observable angular8 eventemitter