问题标签 [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 回答
32 浏览

ngrx - 有没有办法使用 NgRx 数据自动检查实体是否在商店中?

为了减少网络流量,我需要检查具有给定 id 的实体是否在商店中,如果没有,则应从服务器请求它。我找不到任何配置,所以我只是使用 RxJs 对逻辑进行硬编码,如下所示。

有没有办法用 NgRx/NgRx 数据配置它?有没有一种方法可以配置实体在商店中的停留时间而不需要重新请求?

0 投票
0 回答
21 浏览

ngrx - 在 NGRXDATA 中为每个实体自定义 Http Url

我正在尝试在https://ngrx.io/guide/data/上查找文档,以了解是否可以将 defaultDataService 扩展到https://ngrx.io/guide/data/entity-dataservice中提到的内容之外

期望的结果

car我想要的是为我和plane实体有不同的终点

我知道可以通过以下方式自定义根目录。https://ngrx.io/guide/data/entity-dataservice#configure-the-defaultdataservice

但这并不能使每个实体都有自己的终点。

我的transport.services.ts文件看起来像这样

可能的解决方案

  1. 我看到这篇文章https://slides.com/jiali/deck-5#/34执行了以下操作,看起来像我所追求的,但找不到任何文档。

任何帮助 - 非常感谢

0 投票
1 回答
167 浏览

angular - Angular - Ngrx 实体收集服务基础 - 序列化

在我当前的项目中,我有一个带有 nestjs 的后端和一个有角度的前端。

我正在使用ngrx实体从我的服务的后端加载一些数据,如下所示:

日历事件.service.ts

我有我的实体元数据设置

当我从 app.component.ts 加载数据时,我的数据加载正常

我看他们很好:

我想要实现的是当数据被序列化而不是开始字符串日期时,创建一个 Date 对象。这个想法会做类似的事情

但不是在调用 filterFn 时做,而是在进行 http 调用时做,在它变得不可变之前做

我尝试使用 ngrx 实体收集服务库查找序列化,但我没有找到任何让我知道如何在从 http 调用加载时对数据属性采取一些操作的信息

0 投票
2 回答
77 浏览

angular - 根据条件禁用和启用按钮

我试图在值返回 true 时启用按钮。甚至我的函数也返回正确的值,但没有按照我的预期工作。

这是我的功能:

HTML:

0 投票
0 回答
90 浏览

angular - 带有 Strapi 的 NgRx 数据(getByKey):无法解构“sourceError”Strapi 的属性“错误”

当使用 NgRx getByKey 通过给定的主键从 Strapi 获取数据库记录时,该主键不存在我收到以下错误:

Cannot destructure property 'error' of 'sourceError'

来自后端的响应是 404 Not Found。

例子:

如果找到数据,那么我们将填充表单等,但如果发生类似 404 的错误,没有找到数据,那么什么也不会发生,我无法注销错误、导航等。

我相信这是因为 NgRx 数据引发了错误,因为消息说它无法解构错误的属性:

现在这个错误,似乎它可能是由于后端的错误响应只是状态 404 Not Found 而发生的。

谢谢!

0 投票
0 回答
46 浏览

angular - 扩展 EntityCollectionServiceBase 的通用 @ngrx/data 服务

实现通用 @ngrx/data 服务是否可行,例如:

...并将其与各种组件中的多个预设数据类型对象/实体(例如:UserDTO、BookDTO 等)一起使用,例如以下示例:

EntityCollectionServiceBase 是具体 EntityCollectionService 的基类。不能注入。它需要使用 EntityCollectionServiceFactory 来创建。通过通用方式接近它会不会有任何问题,或者是否需要为每个实体创建单独的服务(我试图避免)?

0 投票
0 回答
24 浏览

ngrx - NGRX 数据和真实 REST 端点

我是 NGRX 数据的新手。我正在使用 GetWithQuery 从后端返回记录子集。GetWithQuery 依赖于查询参数,例如:

在服务器上使用如下:

我宁愿消费这个:

但我不知道如何让 NRGX Data 调用此端点:

或者像这样的端点:

NGRX 数据可以做到这一点吗?

谢谢。

0 投票
0 回答
26 浏览

angular - Ngrx/data 保存附加属性

所以我需要使用 ngrx/data 将其他属性保存到我的 ngrx 存储中。

有一个答案解释了如何覆盖 NGRX DefaultPersistenceResultHandler 的 handleSuccess。但是,在我的情况下,我使用自定义数据服务,就像这样

它应该始终返回一个实体数组,然后将其传递给AdditionalPersistenceResultHandler,并且我需要保存另一个属性来响应商店。有没有办法做到这一点?

0 投票
0 回答
27 浏览

angular - 使用默认的 @ngrx/data 实体收集服务添加部分实体

我遇到了@ngrx/data 的问题,我不确定它是否会被视为错误或按预期工作。问题集中在使用部分类型向商店添加新实体。

使用这个包,您可以通过几种不同的方式创建实体收集服务:

  • 注入 EntityServices 并使用它从其注册表中获取默认实体集合服务之一,如下所示......
  • 或者,通过扩展 EntityCollectionServiceBase 创建自定义实体集合服务,然后像这样注入该服务......

我注意到默认与自定义实体集合服务的 add 方法的行为不同。如果您的任何数据库字段可以为空,自定义服务将允许您提供一个非常方便的部分类型。但是,使用默认服务的 add 方法,如果您尝试提供部分,TypeScript 会报错。我想避免为每个实体类型创建自定义服务,因为我首先走下这个@ngrx/data 路径的唯一原因是承诺实体数据“零 Ngrx 样板”,或者至少是最小样板。

难道我做错了什么?这有正当理由吗?还有其他方法可以获取默认服务吗?

0 投票
0 回答
5 浏览

ngrx - 将 @ngrx\data 与多个实体一起使用(路由解析器)

我正在使用 @ngrx\data 构建一个应用程序,并使用路由解析器将数据预加载到商店中。我通过点击加载的 $ observable 并调用 getAll() 来做到这一点,如下所示:

当我只为一个实体加载数据时,这非常有效。但是,一旦我引入第二个实体数据服务并为同一个组件加载数据(无论是在同一个解析器中还是在单独的解析器函数中),当最后一个 getAll() 可观察对象完成时,存储中的数据就会被覆盖,删除另一个实体。

所以我的状态看起来像:

所以我的“最终”状态只包含交易实体。为什么?我错过了什么。希望这足以继续,但如果需要,我很乐意发布更多我的代码。

先感谢您!