问题标签 [angular-ngrx-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
101 浏览

angular-ngrx-data - 带有@NGRX/Data 的自定义端点

我需要使用@NGRX/Data 修改我的端点。我编写了一个在文档中描述的数据服务,它确实改变了端点,问题是数据没有加载到存储中。如何使用此自定义数据服务并在收到数据后将数据加载到存储中?

为什么 super.getAll() 函数不将数据加载到存储中?

0 投票
1 回答
150 浏览

angular - @ngrx/data - 在实体数据服务中传递附加参数或使用自定义函数?

我正在尝试使用 ngrx/data 来处理我的一个模型上的 CRUD 操作,但由于它是“嵌套的”,我需要在 getById 方法中传递多个参数。有没有办法在数据服务(扩展默认数据服务)中编写自定义函数,以便可以通过注入到我的组件中的实体服务访问它们?或者,ngrx/data 的接口是否支持任何附加参数?

0 投票
1 回答
318 浏览

angular-ngrx-data - Ngrx/data getWithQuery 没有根据我给它的查询过滤数据

当我尝试像这样查询已批准的标签时,它会返回所有条目而不是已批准的条目

我也试过以下

以及以下

我在用

后端是

环回 4 和 MongoDB

我有以下型号

我的实体配置如下所示

服务类如下所示

数据如下

示例数据

0 投票
1 回答
172 浏览

angular - 如何为ngrx/data提供初始状态?

我在 Angular 11 应用程序中使用@ngrx/data,我想为我的Settings实体提供初始状态,就像你可以使用@ngrx/store 和 StoreModule.forRoot({}, {initialState: someInitialState}.

@ngrx/data实体提供初始状态的正确方法是什么?

谢谢!

0 投票
1 回答
4530 浏览

angular - 参数'action'和'action'的类型不兼容,属性'payload'在Angular ngrx中丢失

我是角度的新手。在这里,我使用 ngrx 来管理我的 Angular 应用程序中的状态。但是当我编译时出现以下错误。它说'参数'action'和'action'的类型不兼容'。我想知道这是什么原因以及如何解决这个问题?

这是我的 shoppingList.actions.ts 文件。

这是 shoppingList.reducer.ts 文件。

这是我的 app.module.ts 文件。

0 投票
1 回答
133 浏览

angular - @ngrx/data 如何取消提供 getAll、getWithQuery、getByKey 的请求

我在我的应用程序中使用 ngrx/data。

我有一个非常快速的应用程序。你可以在 UI 上选择一些东西,我需要更新我的视图。用户可以很快地做到这一点,在这种情况下,我不需要来自先前请求的任何先前数据。

但是当我添加 switchMap - 我的请求不会取消。

我有“@ngrx/data”:^0.10.2

但我在最新版本 11.0.1 上检查它 - 我有相同的行为。

我找到了一种解决方法,只需使用 httpClient 并在成功请求后更新我的 entityCache。但我不喜欢这种方法。

据我了解,实体服务总是返回 AnonymousSubject 而不是 Observable。这也是我无法取消请求的原因。但也许我可以以正确的方式做到这一点?

0 投票
0 回答
59 浏览

angular - NgRx 数据:无法将实体服务注入服务

两者都不

也不

在服务内部工作。注入组件工作正常。该应用程序可以编译,但提供服务时我得到一个空白网页。在 Angular 11.0.6 和 11.2.3 上测试。

编辑:创建一个新的空白服务并注入它可以工作。将实体服务注入组件并通过方法将其存储在具有注入问题的服务中也可以正常工作,即使直接注入它也不能。

0 投票
0 回答
26 浏览

angular - Ngrx/data 中不同 MergeStratagy 的真正区别是什么?

正如在 ngrx doc 中声明的那样:

IgnoreChanges:更新集合实体并忽略
此操作的所有更改跟踪。每个实体的 changeState 都保持不变。

PreserveChanges:更新未更改实体的当前值。对于
每个更改的实体,它保留当前值并用合并实体覆盖 originalValue。这是查询成功的
默认值。

OverwriteChanges:替换当前集合实体。对于每个
合并的实体,它会丢弃 changeState 并将 changeType 设置为
“未更改”。这是保存成功的默认值。

我将其理解为发生变化时的行为。例如,通过使用 IgnoreChanges,更新实体时,不会发出更改事件。

但是在我的代码中,即使给出了这个策略。实体$ 仍会收到更改事件。

我理解错了吗?而对于 PreserveChanges 和 OverwriteChanges,接收变更事件有什么区别?

0 投票
0 回答
21 浏览

angular - 对 SAVE_ADD_ONE_SUCCESS 使用效果时,NgRx 数据添加实体订阅永远不会触发

当使用 NgRx 数据效果时,它监视SAVE_ADD_ONE_SUCCESS,添加实体订阅永远不会触发。也许是因为我有dispatch: false效果?但我并不总是想返回另一个动作,如果没有,makedispatch: true将创建一个无限循环。我认为仅使用tap不会破坏效果的流动。this._alertService.update使用和我的SAVE_UPDATE_ONE_SUCCESS效果时也会发生同样的事情。我使用这些订阅来确认操作成功完成,关闭加载指示器,然后包含在其他 Observable 管道链中,所以我有点需要它。

如何让添加操作的 Observable 再次发出?谢谢!!

这是效果:

0 投票
0 回答
31 浏览

angular-ngrx-data - ngrx 存储为空,但数据可通过 api 端点获得

我正在实现 ngrx 数据,但我没有在存储中获取数据。但是,我可以使用 POSTMAN 通过我的 .net core web api 查看数据。

在控制台中查看商店时,我观察到一些未定义的值。

店铺

在 ngrx devtools 我看到以下事件

ngrx 工具

获取以下 API 响应:

功能模块如下:

服务实现如下:

在 App.module.ts 中,我添加了以下内容: