问题标签 [angular-akita]

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 回答
81 浏览

typescript - 角度/秋田商店嵌套更新

我可以更新商店,但不确定更新嵌套状态的最佳方法是什么,例如,如果我想更新 addressData -> AddressTypeA 并仅更新正在发送的 {name & surname} 对象

发送有效载荷以更新存储:名称:字符串;姓氏:字符串;

当前商店正在更新,但不在嵌套属性中。更新嵌套对象状态的最佳方法是什么?

0 投票
2 回答
114 浏览

angular - 秋田查询 this.selectAll 在服务调用完成之前返回空列表

这是我的 widgetquery.ts

在前端我使用 *ngIf 像这样:

我组件中的构造函数调用此函数,从服务调用中获取小部件(服务调用成功...)

[ ]但是 selectAll 查询在返回真实数据之前返回一个空列表[ widget1, widget2 ]

所以我得到一个空列表,然后是真实数据(填充列表)。

我不想要首先出现的空列表(即使真实数据有时可能是空列表)......

为什么我从秋田得到第一个空列表?

我可以使用某种“标志”或“初始化状态”来告诉秋田:在我的服务调用完成之前不要从查询中返回数据,并通过此行将数据添加到存储中this.WidgetStore.add(liste);

0 投票
1 回答
42 浏览

angular - 使用 Akita Entity Store 插件时,Angular 材质数据表分页器返回未定义

我已经坚持了两天,我希望有人能指出我的解决方案。我有一个使用 Akita 进行状态管理的 Angular 应用程序,其中一个组件的任务是加载客户列表。我已将代码的重要部分放在下面。

无论我做什么,我总是得到一个undefinedPaginator 实例。我不确定我做错了什么。我将不胜感激任何帮助。谢谢你。

0 投票
1 回答
38 浏览

angular12 - Angular Akita 仅设置数组中的最后一个值

我是使用秋田状态管理的 Angular 新手。我正在尝试将值数组设置为实体状态。但由于某种原因,只有数组中的最后一项被设置。但是值的数量是正确的。IE。我在数组中有 14 个不同的项目。但在秋田,最后一个值设置为 14 次。不知道我在这里做错了什么。有人可以帮忙吗?

正面:

询问:

输出:

谢谢

0 投票
0 回答
28 浏览

angular - 秋田实体商店:订阅任意数量的变更实体

我正在维护两个实体商店;一个保存原始数据,一个保存处理过的数据。我想订阅第一个商店以在更新任何实体时获取更改,因此我可以处理数据并添加到第二个商店。

我有点困惑,因为我不想设置任意数量的selectEntitysubs,但我也不想通过selectAllsub 获取 store1 的全部内容。有没有办法替代对商店所做的更改?

0 投票
0 回答
8 浏览

angular-akita - 秋田只更新本地浏览器

秋田不会让不同的浏览器保持同步。

其他用户通知我他们没有看到我创建的更新。

数据在 SQL Server 数据库中,它在我的浏览器上正确显示(因为我输入了它),但他们看不到更新。

此外,当用户更新应用程序时,我看不到他们的更新。

这告诉我,Akita 更新了本地浏览器状态,但并未使所有浏览器保持同步。

我已经根据网站上的文档遵循了代码,但不知何故我遇到了这个问题。

有没有办法使用 Akita 并由一个用户(本地浏览器)进行更改,更新所有其他用户(浏览器)的状态?

我很困惑。对此的任何帮助表示赞赏。他们的网站似乎没有清楚地解决这个问题。

0 投票
1 回答
42 浏览

angular - 我应该如何在 Angular 中使用 Akita 只读对象的 2 方式绑定?

我有一个秋田商店,里面装满了来自服务器的数据。我正在尝试从商店获取一个对象并使用角度双向绑定 [()] 对其进行编辑。

每当我尝试更改对象的值时(在模板 HTML 中通过键入字段或在从服务加载数据后在组件 Typescript 中)我都会收到有关该属性不可编辑的错误。

我尝试在 Akita EntityStore 中添加 ImmerJS 并尝试在组件中使用 {...data} 。结果相同。

一些代码...

秋田店:

来自服务的位,这是向组件返回数据:

从组件:

上面的组件如上所述错误,但是如果我从那里删除名称设置,如果我尝试编辑输入字段中的值,我会得到相同的结果:

该值在模板加载时填充在页面上。

现在很可能我错过了 Angular 和/或 Akita 的一些关键方面,请随时告诉我!

编辑 - 潜在的解决方案 所以商店里的 Immer 似乎没有做我希望返回“草稿”对象的事情,我认为这是可变的(https://datorama.github.io/akita/docs/immer/)。

在我的服务中,我有代码通过查询从商店获取数据。我尝试更改服务(下面添加的代码很糟糕,承认)以复制数据存储对象并返回副本。这似乎允许端到端功能发挥作用。

但是我不确定这是正确的做法......

旧服务方式:

新服务方式: