问题标签 [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 投票
0 回答
83 浏览

angular - 如何覆盖ngrx/data中实体的默认reducer实现

我正在尝试使用 ngrx/data 进行分页。在初始请求中,页面大小为 10,pageNumber 为 1。当我触发第二个页面大小为 10、页码为 2 的请求时。它正在截断旧值并保存从第二个 API 响应接收到的值。

我想附加从数据存储中的第二个 API 响应接收到的值(不丢失初始值)。为此,我猜可能覆盖默认减速器可能会有所帮助。

我检查了官方文档,但没有太大帮助。如果我得到小例子,那就太好了。

0 投票
1 回答
510 浏览

angular - Ngrx 数据 - 扩展 DefaultDataService

我正在尝试扩展 ngrx/data DefaultDataService 并覆盖一些方法。我必须在方法中更改的是 entityUrl,并且我必须发送一个 HttpParam(告诉拦截器应该将哪个 BE 服务用于特定的 Http 请求)。

所以我覆盖了getAll方法,如下所示:

但是它触发了 Http 请求,它不会触发任何 ngrx 事件。(接收到的数据,但未存储在 ngrx 存储中)

该实施在 Udemy 培训“NgRx(带有 NgRx 数据)-完整指南”中有效,但不适用于我。

有谁知道问题可能是什么?

0 投票
1 回答
135 浏览

angular - 使用 NGRX-Data 的角度嵌套组件数据流

我有一个共享服务的两个组件,并且该服务连接到 NGRX 数据存储。调用NGRX-Data 方法通过Button-Component服务触发请求。有一个通过异步管道订阅的 Observable getByKey()Display-Component

到目前为止,我无法使用Display-Component. 如果我在服务中手动订阅并且entities$商店中的也更新,它会起作用。我可以使用它,但是我需要一些逻辑来存储key我想避免的。

那么如何从 Store 返回的 Observable 映射到其中Display-Component之一呢?

0 投票
1 回答
218 浏览

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 使用查询参数。

提前致谢!

0 投票
2 回答
380 浏览

angular - 如何为 AOT 编译配置 NGRX/Data

我有一个来自 NGRX 数据文档的标准设置和一个实体。一切都适用于 JIT,但是当我执行 AOT 时,我得到以下错误:

我的实体配置:

我的模块:

错误在这里抛出: EntityDataModule.forRoot(entityConfig)

版本:

0 投票
0 回答
40 浏览

ngrx - 如何扩展 EntityCollectionReducerMethods NgRx 数据

在将数据字段添加到商店之前,我需要对其进行解析。

我希望从覆盖 getAll() 中解析数据字段。
此代码不起作用有人可以解释为什么吗?

0 投票
1 回答
269 浏览

angular - 了解ngrx/data的能力

我正在尝试熟悉ngrx/data,但我不确定它的功能。我已经阅读了文档和一些教程,但仍然有很多问号:

  1. ngrx/data 提供了 CRUD 功能的方法。但是额外的非 CRUD 请求呢?是否可以为非 CRUD 请求(例如登录请求或其他内容)扩展 ngrx/data 并为此实现自己的操作、reducers 和效果?ngrx/data 的哪一部分必须扩展?实体动作?实体集合服务?实体集合减速器?关于这些东西的文档有点混乱,我真的不明白所有这些部分是如何协同工作的。也许有人可以对此进行澄清并提供一些示例代码。

  2. 在我的 Angular 项目中,我使用的是“传统”存储/操作/reducers/effects 模式。有时会在多个操作上触发效果(例如,成功的更新操作会触发从服务器重新读取)。是否也可以使用 ngrx/data 实现此行为?

  3. 是否可以在同一个商店实体上同时使用 ngrx/data 和“传统”商店模式?用于 CRUD 操作的 ngrx/data 和用于非 CRUD 操作的 store/actions/reducers/effects?

一些提示和想法会有所帮助。谢谢 :)

0 投票
1 回答
325 浏览

angular - 如何使用 @ngrx/data 自定义减速器?

我正在学习使用@ngrx/data,确实使用该库我推进了很多代码,但是在个性化它时我遇到了问题。我已经看到了如何向集合添加字段

export const entityMetadata: EntityMetadataMap = { User: { additionalCollectionState: { testing: null } } };

并在此处设置模块:

一切都很好,但是......,我如何添加自己的减速器,在文档中我看不太清楚

0 投票
1 回答
37 浏览

angular - 为什么我会得到多个选择器结果?

我目前正在调度一个事件以从后端检索所有数据,并且通过这个调度我普及了状态副本。

到目前为止一切都很好,问题是如果后端没有任何东西我需要调度一个事件来在其上创建数据并在状态的新副本中创建数据。

为此我使用了一个选择器来检查状态中是否已经存在某些东西,因为如果后端会有一个,他的问题是结果到达多个并且延迟与下图相同:

在此处输入图像描述 这是我的代码:

应用程序组件

减速机

效果

选择器

0 投票
1 回答
1189 浏览

angular - Angular + Ngrx:在组件和函数中选择值的最佳实践

我的问题与ngrx get value in function中的问题几乎相同,但我想知道答案(请参阅该主题中的评论)是否仍然是当今的最佳实践。

我的情况是:

  1. 我想从商店中获取 2 个值以显示在我的组件中 --> 我使用选择器和异步管道
  2. 我需要将这些相同的值传递给 Angular Material 对话框,以便在对话框组件中使用它们。

我有一个可行的解决方案:我在 ngOnInit() 中使用订阅函数,并使用来自 Observable 的值设置一个局部变量。所以我不再需要使用异步管道,我可以轻松地将值传递给某些函数......这听起来像是最好的选择,但我在任何地方寻找答案,我看到“避免使用订阅”。

所以我想知道:

  • 有没有更好的方法来处理这种情况?
  • 或者这是“处理这种情况的ngrx/rxjs方式”?
  • 或者我是否使用选择器 Observable 和异步管道来显示组件中的值并订阅 Observable 以创建一个局部变量以传递给我的函数(这似乎有点多余......)
  • 或者 ...?

我的问题是我想要一种处理 ngrx 值的一致方法,但现在看起来我需要根据场景使用 2 种方法:

  • 用于在组件中显示值的异步管道(根据社区的首选方法)
  • 在本地函数中使用值时订阅(社区建议“除非必要”不要使用订阅)

(令我惊讶的是:在互联网上很难找到明确的答案......)