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

ngrx - Ngrx/data,如何在延迟加载的模块中添加复数名称映射?

从文档中,我尝试在延迟加载的 Angular 模块中添加以下提供程序...

...但这不起作用。类似的机制在文档中描述如下......

这种技术不适用于延迟加载的模块。ENTITY_METADATA_TOKEN 提供程序已在延迟加载模块到达时设置和使用。

该模块应改为注入 EntityDefinitionService 并使用其中一种注册方法直接注册元数据。

这是否意味着我必须使用 EntityDefinitionService 才能在我的延迟加载模块中识别我的复数名称?如果是这样,我该怎么做?我一直无法弄清楚。如果没有,关于我做错了什么的任何想法?

如果需要,我可以提供更多代码,但我主要想知道它是否应该工作,或者我是否需要为延迟加载模块中的复数名称映射做一些不同的事情(以及“不同的东西”究竟是什么)。

0 投票
2 回答
192 浏览

angular - 如何在子实体中链接父级 - ngrx、ngrx/data

我正在为旅行社构建一个 Angular 应用程序。在酒店列表页面中,我需要显示酒店的国家和城市。我从ngrx/data EntityService 获取国家、城市和酒店数据。

如果我使用嵌套订阅,它可以正常工作,但我确信有更好的方法来做到这一点。

这是我当前的实现

任何人都可以为上述解决方案提出更好的替代方案吗

0 投票
0 回答
90 浏览

ngrx - 仅当 entityCache 为空时,如何获取 @ngrx/data 来检索数据?

我正在@ngrx/data 中自定义实体服务,并且我希望存储缓存数据,以便它仅在尚未加载时从 API 检索数据一次,但跳过任何后续调用API。

到目前为止,我似乎无法让方法覆盖工作:

0 投票
2 回答
551 浏览

angular - 当 ngrx/data 进行远程 api 调用时如何避免 net::ERR_INSUFFICIENT_RESOURCES?

我正在更新@ngrx/data 下的很多记录,它在后台调用远程API 来同步数据库和本地存储。

我遇到的问题是远程 API 调用发生在我的代码之外,而且它发生得如此之快,连接使浏览器不堪重负:

净::ERR_INSUFFICIENT_RESOURCES

限制上面的代码没有帮助,因为远程 API 调用发生在我的控制之外。

我有办法限制 ngrx/data 远程 API 调用,还是有其他方法来解决这个问题?

0 投票
1 回答
204 浏览

angular - 如何使用 ngrx/data saveEntities 添加多个实体进行存储?

我正在尝试使用 ngrx/data -> saveEntities 将多个实体添加到商店。到目前为止,我得到了这个:

我的端点接收并返回一个像这样的对象:

在后端,我将所有实体插入数据库,然后在返回同一对象之前更新 id,但在 Angular 应用程序中,商店没有更新。我错过了什么吗?

https://ngrx.io/api/data/EntityCacheDispatcher#saveentities

0 投票
1 回答
150 浏览

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

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

0 投票
1 回答
32 浏览

angular - 不确定如何在@ngrx/data 中“加入”

我有三个实体

我正在处理每个流。假设 claimId、subject1Id 和 subject2Id 已填充,并且声明、subject1 和 subject2 没有,我想以一个新集合结束:

我似乎无法理解如何构建存储管道。

非常感谢您的建议或指向示例的指针。

0 投票
0 回答
31 浏览

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

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

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

店铺

在 ngrx devtools 我看到以下事件

ngrx 工具

获取以下 API 响应:

功能模块如下:

服务实现如下:

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

0 投票
1 回答
372 浏览

angular - Angular & NgRx-Data 更新 & 订阅问题

我正在使用 Angular 11 和 NgRx-Data 10.1.2。我正在使用智能组件/哑组件模式。

在我的“列表”视图中,当我选择一个项目时,我会路由到一个传递项目 ID 的详细信息页面。

在我的详细信息页面中,我订阅了实体服务 getByKey()

这是 SiteEntityService:

单击“编辑”时,我以模式打开编辑组件:

在 Edit 组件中,点击提交表单时:

更新后,如果我调查商店,我可以看到实体已正确更新,但是,在模式关闭后,尽管商店(和数据库)更新,但显示页面上的订阅不会更新。

那么我哪里错了?如何让显示页面刷新数据?

针对@Fiber 的回答进行了编辑:

它现在可以工作了,但是由于订阅返回了一个项目数组,这意味着我必须在数组中搜索正确的项目,这似乎并不理想。

0 投票
1 回答
262 浏览

angular - 使用 ngrx-router 和 ngrx-data 的问题

我目前在我的 Angular 12 应用程序中使用 ngrx。我试图了解如何将ngrx-router 和ngrx-data 一起使用。

我有几个文件:

app.module.ts(有趣的行)

文章-collections.service.ts

索引.ts

路由器选择器.ts

文章.selectors.ts

在我添加的最后一个文件中,entities[id!]因为selectRouteParam('id')给我未定义的可能结果。我想这是有道理的,因为 url id 并不总是被定义

此行this.active$ = this.store.select(fromArticle.selectActive);产生以下错误

在我的article-collections.service.ts我得到这个我不明白的错误。查找后似乎与错误的接口声明有关,但我不明白我做错了什么。