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

angular - 如何使用不是默认的角度 cli 示意图?

我有一个离子应用程序。我现在想在我的项目中使用Akita作为状态管理。默认情况下,Akita 尝试替换

经过

它扩展了角度动作。我的问题是它不会扩展默认的 Ionic 原理图。

所以我确实更喜欢保留@ionic/angular-toolkit秋田原理图,并且在我想使用它们时必须指定它们。

但现在如果我尝试类似:

我收到一个错误:

发生未处理的异常:无法解析集合“akita-schematics”。

所以我的问题是,如何在不将其设置为默认值的情况下添加角度示意图(对于秋田,但我想其他库也是如此)?

0 投票
1 回答
592 浏览

angular - 其中 Akita Store 默认存储数据,不使用 persistState 插件

我正在尝试在 Angular 应用程序中探索秋田。我为我的一个实体实现了它,但我无法找到 Akita 在浏览器中保存数据的位置。

我看到了一个持久状态插件,但是如果我们不使用它,我们可以在没有 redux 开发工具的情况下找到我们存储的数据?

0 投票
1 回答
419 浏览

angular-akita - 如何更新秋田州“ui”属性

我有一个秋田状态界面设置了相关的商店,如下图...

我正在尝试设置一个存储方法来仅更新“tableHeight”属性,而不影响任何现有的“UI”属性/我该怎么做?

秋田文档将其显示为格式...

在此处输入图像描述

...但这似乎会破坏“ui”级别的所有其他属性

0 投票
1 回答
1861 浏览

angular - 如何使用角度将对象添加到包含 Array 的现有动态秋田商店

我在秋田商店中存储动态值而不创建模型。

我正在尝试将对象从存储添加到现有数组,我是秋田新手,所以尝试深度克隆秋田存储值,然后将该对象推送到数组并将更改后的数组再次设置为存储,但它正在重复存储中的值

我在stackblitz中复制了它

0 投票
1 回答
154 浏览

angular - 用秋田实现基本抽象状态的适当方法

我试图实现这样的事情,我有点困惑。假设我需要实现各种基于网格的页面,它们的设计方式或多或少相同,但它们每个都有一些特殊性。这就是为什么我需要一些基本的抽象存储/查询服务,我打算在这些服务中实现通用逻辑。

每个网格都将使用以下子级进行操作BaseLineItem

那就是我尝试实现它的方式

假设对于每个表单,我将为订单项、状态和商店实现子项,因此我可以添加一些特定于每个表单的特性。但是在那个地方我遇到了addNewItems方法 -的问题upsertMany,它显示了以下错误:

秋田似乎无法推断实体的类型。

就是那个问题。如何在不as any到处使用的情况下解决这个问题(如果我在最基础的级别开始这样做,我将在源代码中失去智能感知)?我是从.Net背景来到前端世界的。也许我不明白什么,这种架构模式在这里不是最好的?我需要一些建议。

0 投票
3 回答
615 浏览

angular - 如果我在一个对象中有一个嵌套的只读数组,我如何复制该对象并将该数组转换为可变的(这样我就可以插入到秋田)?

如果我在打字稿中有以下界面

数据看起来像这样

如果我想将它存储在 akita/state 中并允许它是可变的(即,也许用户想要单击一个复选框来表示“Group 2”现在处于活动状态并且我需要更新 akita/state),我该怎么做整个对象的副本,因此它不是不可变的(在插入秋田/状态之前)?

好的,我想在阅读以下评论后编辑我的问题。

我将以下代码插入我的秋田商店

VS 在抱怨state.member.groups里面arrayUpdate

谢谢jonpfl

0 投票
0 回答
44 浏览

angular - 使用调度器对 Observables 进行排序

我在我的应用程序中对计算层进行排序时遇到问题。我正在使用 Akita 实体存储来管理状态,然后观察更改并通过可观察对象管道它们以生成 UI 状态。整体流程为:

(假设 distinctUntilChanged 在每个运算符之后)。

如何确保在任何组合之前计算 A..N?理想情况下,所有这些都在一个宏周期中,因此 UI 不会更新部分结果。

我尝试添加asapScheduler为 combineLatest 的最后一个参数,但它似乎不起作用,在调用 combineLatest 之前更新了一些输入,而在触发更多调用之后更新了一些输入。

我还希望能够添加另一个级别的组合:

如何确保 A..N 都在 Q..U 之前计算,同样,Q..U 在 W..Z 之前计算?

0 投票
1 回答
1044 浏览

angular - 使用秋田数据存储,如何选择所有基于 OR 的 2 个属性匹配的项目?

我想根据 2 个属性从秋田商店中选择值,其中任何一个都应该与我正在寻找的东西相匹配。

我从一个简单的开始(添加了 filterBy [] 知道我想要过滤不止一件事):

哪个正确返回与过滤器匹配的实体对象。但是,实体上有 2 个属性,其中任何一个都可能具有我要匹配的值。所以我猜了一下:

那里的第二个代码块不返回任何实体,第一个返回匹配一个 ok。

我想我可以做一个 SelectAll 然后使用 TS 过滤,

但我希望我可以在秋田选择框架内做一个 OR。

对秋田商店选择进行 OR 操作的正确语法是什么?我什至应该使用 select() 吗?

0 投票
1 回答
1038 浏览

angular - 为什么 Akita statestore 返回一个空实体而不是更新的实体?

我正在使用秋田作为我的 Angular 应用程序的状态存储。

我成功地从后端服务器获取数据并填充我的商店(数据显示在组件中)但是当我尝试更新商店中的实体时,它会发出一个空对象。

我怀疑这对我对秋田的理解很重要,但我希望调用以下内容

  1. 使用给定 ID 更新实体
  2. 使用更新的实体触发 myQuery.select(id).subscribe()

我也在服务中尝试过这种语法:

上面显示的订阅函数返回一个空对象。如果我在我的实体类中创建一个构造函数并设置几个默认值,那么在 query.select() 调用中只会返回构造函数中定义的那些属性。并且这些属性的值是默认值(在构造函数中定义)而不是存储中存在的值。

因此,以下一项或两项似乎是正确的:

  • 商店中的实体未更新
  • 秋田正在返回一个新构建的实体,而不是我所期望的(来自商店的更新实体)

希望一切都有意义....

一些代码:

服务:

我是打算将新构造的实体传递给 updateActive() 函数还是只是我想要更新的道具?

查询 - 当我在组件中调用 selectAll 时,这确实会返回有意义的数据:

从组件...

0 投票
1 回答
135 浏览

angular - 如何在 Akita 中声明查询/服务以便在另一个模块中使用它

我开始在我的离子应用程序中使用秋田。

我有一个SessionModule, 我在其中声明一个SessionService, SessionQuery, ... 但我想在我的app.component.ts.

我试图在我的SessionModule

我宣布它import在我的app.module.ts

并在我的 App.Component.ts 中使用它:

但是当我运行它时,我得到了一些错误:

我应该怎么办?是否必须仅在声明它的同一模块中使用查询?