问题标签 [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.
angular-ngrx-data - 带有@NGRX/Data 的自定义端点
我需要使用@NGRX/Data 修改我的端点。我编写了一个在文档中描述的数据服务,它确实改变了端点,问题是数据没有加载到存储中。如何使用此自定义数据服务并在收到数据后将数据加载到存储中?
为什么 super.getAll() 函数不将数据加载到存储中?
angular - @ngrx/data - 在实体数据服务中传递附加参数或使用自定义函数?
我正在尝试使用 ngrx/data 来处理我的一个模型上的 CRUD 操作,但由于它是“嵌套的”,我需要在 getById 方法中传递多个参数。有没有办法在数据服务(扩展默认数据服务)中编写自定义函数,以便可以通过注入到我的组件中的实体服务访问它们?或者,ngrx/data 的接口是否支持任何附加参数?
angular-ngrx-data - Ngrx/data getWithQuery 没有根据我给它的查询过滤数据
当我尝试像这样查询已批准的标签时,它会返回所有条目而不是已批准的条目
我也试过以下
以及以下
我在用
后端是
环回 4 和 MongoDB
我有以下型号
我的实体配置如下所示
服务类如下所示
数据如下
angular - 如何为ngrx/data提供初始状态?
我在 Angular 11 应用程序中使用@ngrx/data,我想为我的Settings
实体提供初始状态,就像你可以使用@ngrx/store 和 StoreModule.forRoot({}, {initialState: someInitialState}
.
向@ngrx/data
实体提供初始状态的正确方法是什么?
谢谢!
angular - 参数'action'和'action'的类型不兼容,属性'payload'在Angular ngrx中丢失
我是角度的新手。在这里,我使用 ngrx 来管理我的 Angular 应用程序中的状态。但是当我编译时出现以下错误。它说'参数'action'和'action'的类型不兼容'。我想知道这是什么原因以及如何解决这个问题?
这是我的 shoppingList.actions.ts 文件。
这是 shoppingList.reducer.ts 文件。
这是我的 app.module.ts 文件。
angular - @ngrx/data 如何取消提供 getAll、getWithQuery、getByKey 的请求
我在我的应用程序中使用 ngrx/data。
我有一个非常快速的应用程序。你可以在 UI 上选择一些东西,我需要更新我的视图。用户可以很快地做到这一点,在这种情况下,我不需要来自先前请求的任何先前数据。
但是当我添加 switchMap - 我的请求不会取消。
我有“@ngrx/data”:^0.10.2
但我在最新版本 11.0.1 上检查它 - 我有相同的行为。
我找到了一种解决方法,只需使用 httpClient 并在成功请求后更新我的 entityCache。但我不喜欢这种方法。
据我了解,实体服务总是返回 AnonymousSubject 而不是 Observable。这也是我无法取消请求的原因。但也许我可以以正确的方式做到这一点?
angular - NgRx 数据:无法将实体服务注入服务
两者都不
也不
在服务内部工作。注入组件工作正常。该应用程序可以编译,但提供服务时我得到一个空白网页。在 Angular 11.0.6 和 11.2.3 上测试。
编辑:创建一个新的空白服务并注入它可以工作。将实体服务注入组件并通过方法将其存储在具有注入问题的服务中也可以正常工作,即使直接注入它也不能。
angular - Ngrx/data 中不同 MergeStratagy 的真正区别是什么?
正如在 ngrx doc 中声明的那样:
IgnoreChanges:更新集合实体并忽略
此操作的所有更改跟踪。每个实体的 changeState 都保持不变。
PreserveChanges:更新未更改实体的当前值。对于
每个更改的实体,它保留当前值并用合并实体覆盖 originalValue。这是查询成功的
默认值。
OverwriteChanges:替换当前集合实体。对于每个
合并的实体,它会丢弃 changeState 并将 changeType 设置为
“未更改”。这是保存成功的默认值。
我将其理解为发生变化时的行为。例如,通过使用 IgnoreChanges,更新实体时,不会发出更改事件。
但是在我的代码中,即使给出了这个策略。实体$ 仍会收到更改事件。
我理解错了吗?而对于 PreserveChanges 和 OverwriteChanges,接收变更事件有什么区别?
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 再次发出?谢谢!!
这是效果: