如何使用ngrx实体选择器?

时间:2019-01-06 11:46:01

标签: angularjs ngrx ngrx-store ngrx-entity

我将ngrx实体用于我的商店 我无法使用选择器选择商店实体的问题。  我在这个例子中作为代码 https://github.com/angular-university/angular-ngrx-course/blob/master/src/app/courses/course.selectors.ts

在我的情况下,当我在商店上使用select时,我得到商店对象而不是实体。

这是我的减速器:

reducer

这是选择器: selectors

这是组件: enter image description here

这是商店中选择的日志,我希望有一个实体对象,并且正在获取此信息:enter image description here

这是商店:enter image description here

1 个答案:

答案 0 :(得分:0)

这是因为选择器包装在函数中。

<my-app>

因此,您必须调用该函数以获取选择器的数据而不是存储。

const selectAll = () => createSelector(selectFoo, entities.selectAll);

但是我的问题是为什么选择器会被包装,这并不是真正需要的。您可以这样做:

this.data = this.store.select(selectAll());

在组件中,您可以像现在一样使用它:

const selectAll = createSelector(selectFoo, entities.selectAll);

有关更多信息,请查看我的文章NgRx: Parameterized selectors