angularjs - ngrx 参数选择函数

标签 angularjs ngrx ngrx-store-4.0

有没有办法将参数传递给 ngrx select 函数?

以下是我的用例:

我正在维护商店中的评论列表。

我写了一个组件代表一条评论。所以,一个 CommentComponent 知道组件对象的 id

每条评论都将具有 likedBy、reportedBy 等属性 在 UI 中,我使用 *ngFor 显示所有组件

现在我希望我的 CommentComponent 通过使用组件的 id 只订阅一个评论对象。

现在我正在订阅顶级组件中的所有评论,并将每个评论作为输入传递给 CommentCompoent。

当前的方法并不干净,因为 Angular 变化检测策略(即使我使用 onPush)必须为所有评论呈现 DOM,即使只有一个评论发生变化。

感谢任何我可以将评论 ID 传递给选择器函数的建议,以便每个 CommentComponent 只能订阅一个评论。

提前致谢, 苏达卡尔

最佳答案

是的,您可以将参数传递给 ngrx 选择器,您可以通过这种方式实现

从组件端

this.store.select(getComments(user_id));

从选择器端

export const getComments = (user_id) => createSelector(
  getData,
  (store) => store.comments 
);

关于angularjs - ngrx 参数选择函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109044/

相关文章:

angularjs - 使用AngularJS ng-options时如何禁用select元素的<option>?

angular - 静态解析符号时遇到错误

angular - 在使用 URL 参数加载页面之前等待 ngrx 操作

angular - 无法解析 ngrx/store 操作的所有参数

Angular ngrx-store : How to share store among modules (main module/feature module)

angular - 如何使用@ngrx/store 通过 ID 存储相同状态的多个版本?

angular - @ngrx/store pre-load guard catch 错误

javascript - 使用 ui.bootstrap 和 AngularJS 进行多重折叠

javascript - 如何在导航到不同选项卡或窗口时关闭事件

node.js - AngularJS 中的 ExpressJS 变量 - Mean Stack