问题标签 [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中实体的默认reducer实现
我正在尝试使用 ngrx/data 进行分页。在初始请求中,页面大小为 10,pageNumber 为 1。当我触发第二个页面大小为 10、页码为 2 的请求时。它正在截断旧值并保存从第二个 API 响应接收到的值。
我想附加从数据存储中的第二个 API 响应接收到的值(不丢失初始值)。为此,我猜可能覆盖默认减速器可能会有所帮助。
我检查了官方文档,但没有太大帮助。如果我得到小例子,那就太好了。
angular - Ngrx 数据 - 扩展 DefaultDataService
我正在尝试扩展 ngrx/data DefaultDataService 并覆盖一些方法。我必须在方法中更改的是 entityUrl,并且我必须发送一个 HttpParam(告诉拦截器应该将哪个 BE 服务用于特定的 Http 请求)。
所以我覆盖了getAll方法,如下所示:
但是它触发了 Http 请求,它不会触发任何 ngrx 事件。(接收到的数据,但未存储在 ngrx 存储中)
该实施在 Udemy 培训“NgRx(带有 NgRx 数据)-完整指南”中有效,但不适用于我。
有谁知道问题可能是什么?
angular - 使用 NGRX-Data 的角度嵌套组件数据流
我有一个共享服务的两个组件,并且该服务连接到 NGRX 数据存储。调用NGRX-Data 方法通过Button-Component
服务触发请求。有一个通过异步管道订阅的 Observable getByKey()
。Display-Component
到目前为止,我无法使用Display-Component
. 如果我在服务中手动订阅并且entities$
商店中的也更新,它会起作用。我可以使用它,但是我需要一些逻辑来存储key
我想避免的。
那么如何从 Store 返回的 Observable 映射到其中Display-Component
之一呢?
angular - Ngrx Data GetAll 并修改路径
我对 Ngrx Data 完全陌生,正在尝试修改获取请求的 url。所以我有一个角色应用程序,它为经理提供了赋予用户角色的能力,并且需要根据应用程序 ID 和员工 ID 检索所有用户权限。
对于应用程序的这一部分,我需要调用一个 http 获取请求,例如https://localhost/AppAccess/UserPermissions/ {appId}/{employeeId} (即https://localhost/AppAccess/UserPermissions/11/2903) .
我怎样才能得到 ngrx 数据来调用它?到目前为止,getAll 无法获取 url,因此我无法添加路由参数。getByKey 会针对 selectId 引发警告,该警告旨在返回单个记录,而 getWithQuery 使用查询参数。
提前致谢!
angular - 如何为 AOT 编译配置 NGRX/Data
我有一个来自 NGRX 数据文档的标准设置和一个实体。一切都适用于 JIT,但是当我执行 AOT 时,我得到以下错误:
我的实体配置:
我的模块:
错误在这里抛出:
EntityDataModule.forRoot(entityConfig)
版本:
ngrx - 如何扩展 EntityCollectionReducerMethods NgRx 数据
在将数据字段添加到商店之前,我需要对其进行解析。
我希望从覆盖 getAll() 中解析数据字段。
此代码不起作用有人可以解释为什么吗?
angular - 了解ngrx/data的能力
我正在尝试熟悉ngrx/data,但我不确定它的功能。我已经阅读了文档和一些教程,但仍然有很多问号:
ngrx/data 提供了 CRUD 功能的方法。但是额外的非 CRUD 请求呢?是否可以为非 CRUD 请求(例如登录请求或其他内容)扩展 ngrx/data 并为此实现自己的操作、reducers 和效果?ngrx/data 的哪一部分必须扩展?实体动作?实体集合服务?实体集合减速器?关于这些东西的文档有点混乱,我真的不明白所有这些部分是如何协同工作的。也许有人可以对此进行澄清并提供一些示例代码。
在我的 Angular 项目中,我使用的是“传统”存储/操作/reducers/effects 模式。有时会在多个操作上触发效果(例如,成功的更新操作会触发从服务器重新读取)。是否也可以使用 ngrx/data 实现此行为?
是否可以在同一个商店实体上同时使用 ngrx/data 和“传统”商店模式?用于 CRUD 操作的 ngrx/data 和用于非 CRUD 操作的 store/actions/reducers/effects?
一些提示和想法会有所帮助。谢谢 :)
angular - 如何使用 @ngrx/data 自定义减速器?
我正在学习使用@ngrx/data,确实使用该库我推进了很多代码,但是在个性化它时我遇到了问题。我已经看到了如何向集合添加字段
export const entityMetadata: EntityMetadataMap = {
User: {
additionalCollectionState: {
testing: null
}
}
};
并在此处设置模块:
一切都很好,但是......,我如何添加自己的减速器,在文档中我看不太清楚
angular - Angular + Ngrx:在组件和函数中选择值的最佳实践
我的问题与ngrx get value in function中的问题几乎相同,但我想知道答案(请参阅该主题中的评论)是否仍然是当今的最佳实践。
我的情况是:
- 我想从商店中获取 2 个值以显示在我的组件中 --> 我使用选择器和异步管道
- 我需要将这些相同的值传递给 Angular Material 对话框,以便在对话框组件中使用它们。
我有一个可行的解决方案:我在 ngOnInit() 中使用订阅函数,并使用来自 Observable 的值设置一个局部变量。所以我不再需要使用异步管道,我可以轻松地将值传递给某些函数......这听起来像是最好的选择,但我在任何地方寻找答案,我看到“避免使用订阅”。
所以我想知道:
- 有没有更好的方法来处理这种情况?
- 或者这是“处理这种情况的ngrx/rxjs方式”?
- 或者我是否使用选择器 Observable 和异步管道来显示组件中的值并订阅 Observable 以创建一个局部变量以传递给我的函数(这似乎有点多余......)
- 或者 ...?
我的问题是我想要一种处理 ngrx 值的一致方法,但现在看起来我需要根据场景使用 2 种方法:
- 用于在组件中显示值的异步管道(根据社区的首选方法)
- 在本地函数中使用值时订阅(社区建议“除非必要”不要使用订阅)
(令我惊讶的是:在互联网上很难找到明确的答案......)