问题标签 [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.
indexeddb - 无法在“IDBObjectStore”上执行“放置”:函数(根)....更新...... } 无法克隆
我正在为 Angular 应用程序使用 Akita Statemanagement。并且我创建了两个具有 localForage 配置的存储,驱动程序为 IndexedDB,名称为 Akita,StoreName 为“AppDataStore”。存储键是存储的名称。
以下是版本、存储配置。
包.json
在执行任何更新操作时无法在 indexeddb 中更新并出现以下错误
错误 DOMException:无法在 'IDBObjectStore' 上执行 'put':function (root) { var _a; return _a = {}, _a[(/** @type {?} */ (keyOrRoot))] = upda...... } 无法克隆。在http://localhost:4200/vendor.js:222069:37 在 createTransaction ( http://localhost:4200/vendor.js:221822:9 ) 在http://localhost:4200/vendor.js:222053: 13 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke ( http://localhost:4200/polyfills.js:2815:26 ) 在 Object.onInvoke ( http://localhost :4200/vendor.js:79196:33 ) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (http://localhost:4200/polyfills.js:2814:32)在 Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (http://localhost:4200/polyfills.js :2565:43 ) 在http://localhost:4200/polyfills.js:3299:34 在 ZoneDelegate.push ../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask ( http://localhost: 4200/polyfills.js:2848:31 ) 在 Object.onInvokeTask ( http://localhost:4200/vendor.js:79187:33 )
请任何帮助。
谢谢
javascript - 嗨,我发现使用 angular akita 在本地运行我的代码有困难
我已经安装了angular-akita。我已将npm更新到最新版本。我也有最新的打字稿。
请帮忙。
上ng-serve --o
下面是我的 package.json :
angular - 为什么在组件中直接访问 Akita Queries
我正在学习 Akita 向 Angular 应用程序添加状态管理。在查看Akita 文档中的架构图和Akita GitHub repo 上的示例时,我看到查询是直接在组件中访问的。看到这一点我很惊讶,因为我预计应用程序的状态管理部分将隐藏在服务后面,并从消费者(即组件)中抽象出来。与 Query 不同,Store 隐藏在 Service 后面,不能在组件中直接访问。在我看来,如果 Query 隐藏在 Service 后面,就像 Store 隐藏在 Service 后面一样,那么消费者只需要为每个数据源导入一个东西,即 Service。
所以我的问题是为什么秋田要我们直接在组件中访问查询而不是商店?将查询隐藏在服务后面是否有缺点?
angular-akita - 如何对秋田商店状态进行部分更新?
非常基本的问题,谷歌没有帮助。
我的主要会议有一家秋田商店。它有这个状态
我怎样才能在服务中只更新这些属性中的一个?例如,仅“userRepos”
我有这个服务电话
我已经尝试了很多结构,但我无法得到它。是否有可能只更新一部分状态?
angular - 秋田角 selectQuery 捕获 404
我正在研究 NgRx 的替代方案。到目前为止,Akita 是一个不错的选择,但我正在努力处理错误。有时我希望错误出现在应用程序范围内,有时我希望它由组件管理。在下面的示例中,我启动了一个 404 错误,我希望我的组件能够意识到这一点并采取相应的行动,但我不知道该怎么做。你能帮我吗 ?
DummyService(秋田):
零件 :
我可以像这样处理错误:
但是当我这样做时,akita redux 对象保持在“加载”状态 = true
angular - Angular 9 - 来自商店的 Datorama Akita 显示值
我目前正在尝试使用 Akita 在 Angular 8 中设置一个简单的表单。在继续之前,我必须告诉你,我不是开发人员,而且我对 Angular 世界还很陌生……甚至没有提到状态管理概念。阅读我的代码时请记住这一点:)
这是我想要实现的目标的快速描述。用户在输入中输入注册号的第一个字符。下面,在自动完成中,建议使用数据库中已知的注册号。当用户选择其中一个值时,将触发具有相应 ID 的服务并获取所选车辆(在本例中为飞机)的数据。并且返回的数据显示在选择框下方。
到目前为止一切顺利......我的自动完成框运行良好,商店(显然)按预期填满。我使用 Redux devtools 在商店中看到了正确的数据。
当我尝试显示数据时,我的问题就出现了......我可以在我的页面上看到商店中的整个对象,{{ store_aircraft$ | json }}
这给了我类似的东西:
我只想知道如何简单地访问商店中的数据并显示它。比如说“manufacturer_name”。
这是我的aircraft.store.ts:
这是aircraft.service.ts:
这是aircraft.query.ts:
所以我的问题是:如何显示商店的任何价值?
提前一百万感谢您的帮助。
angular - Akita Collection Service 中的 SyncCollection 太贵了?
我对模块中CollectionService()
可用的方法有疑问。akita-ng-fire
我创建了一个扩展 CollectionService() 的服务,并使用 syncCollection 来保持 firestore 文档和我的 Web 客户端之间的同步。这是服务定义的样子:
我在组件的指令中使用它onInit
来初始化同步。
但是,我看到此同步每分钟会进行约 5 次读取。有没有办法减少这种情况?我觉得这对我来说很昂贵,因为我们将此服务作为核心服务,用于与关键业务文档保持同步。
来自社区的任何建议都会有所帮助
redux - 我应该为 angular8 应用程序使用哪个状态管理库?
我想在我的 angular8 应用程序中使用状态管理,在此之前我对状态管理库的研究似乎是 NGRX 和 NGXS 和秋田。
但我很困惑该选择哪一个!
NGRS 最常用。
NGXS 有更多的可能性并且易于学习。
根据 npm 下载历史和 github forked and issue,AKITA 使用较少且下载较少,但它基于面向对象且易于学习。
你的选择是什么?请说出你的理由!
firebase-realtime-database - RxJS 在组时获取发射数组。Firebase 触发器
我是 RxJS 世界的新手,对此我有点迷茫。希望有人可以帮助我。
我有一个可观察的源(通过 AngularFire 的 Firebase),它在随机派克时间内不断向我发出大量数据(在 2 秒的窗口中最多发出 50 或 80 次),因为这会减慢我的项目性能,我认为是正确的处理这个问题的方法是将排放分组到一个数组中,然后对接收到的所有数据进行事务处理并将其插入到存储中。
我正在寻找的结果如下所示:
考虑到我会放置 3 秒的“保持”时间,我想要以下结果:
- [30, 60, 100] --> 以 1.5s 的间隔时间
- [5, 1, 50, 70] --> 以 2s 间隔时间
数组中的值将是从收到的第一个发射开始的特定时间收到的发射。在特定时间之后,它将在下一批排放中“重新启动”初始化(实际上可能在 1 秒或 2 小时内,但随后,间隔将触发 2 秒的排放)
到目前为止我尝试过的是使用 Window 和 Buffer,也许我没有正确使用这些,或者我只是愚蠢但我找不到我刚刚解释的结果。
我什至不知道 RxJS 是否有可能(我想是的。我已经看到了很多很酷的东西),但是任何建议或指导如何通过它,将不胜感激。
提前非常感谢!
注意: withTransaction 是一个自定义操作符。
angular-akita - 如何避免秋田商店重复条目?
在发送插入的 API 请求之前,我想检查该项目是否已经存在于商店中,如果不存在则只发送插入请求。
有人可以帮忙吗?