问题标签 [dexie]
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.
javascript - 即使在 Electron 中重新启动计算机后仍保留 IndexedDB
我正在尝试在通过 Electron 运行的 Angular 2 应用程序中使用 Dexie/indexedDB,我创建的数据库 + 插入的数据在我重新启动应用程序后仍然存在,但是如果我重新启动计算机,那么所有数据都会被删除。
有没有办法将数据保存在磁盘上,以便即使在计算机重新启动后也可以使用?
如何获取 indexedDb 的副本并使用 NodeJS 将其保存在文件中,然后重新加载?可能吗?
javascript - Dexie:两个日期之间的事件
我正在使用 Dexie(IndexedDb 的库)。我正在通过API来查看是否有一种方法可以在两个日期之间选择事件,并且我看到有.between()
一种使用这种方式的方法:
在所有与数字一起使用的示例中,有人尝试将它与日期一起使用吗?我需要使用特定的日期格式吗?
javascript - Dexie:bulkPut 和 BulkAdd 的区别
我检查了文档,但使用 bulkPut 和 bulkAdd 似乎没有区别。
然而我注意到,当我尝试将 bulkAdd 与事件列表一起使用时,包括我之前删除的事件列表,它不会添加此事件。如果我使用 bulkPut 它会添加事件。
我想更好地了解这两种方法之间的区别。
谢谢
indexeddb - Dexie -- TypeError: 无法设置 undefined(...) 的属性“onerror”
我在我的离线应用程序中使用 Dexie,当我尝试在我的 Indexeddb 数据库中插入新数据时,我收到此错误:TypeError: Cannot set property 'onerror' of undefined(…)
这是似乎引发错误的代码:
这是我创建数据库的地方:
由于我正在添加表并且我不想创建多个版本的数据库,因此我执行了以下操作来清理数据库:
然后我删除DB.delete()
并重新加载。我告诉你这是为了以防这不是好的做法,并且可能会损害我的数据库状态。
谢谢
javascript - 将 Reactjs 与 Dexie.js 一起使用?
我试图弄清楚如何将反应状态设置为数据库的值。我正在使用Dexie.js。
该fridge
功能有效,因为它将适当的项目放置在数据库中。代码中唯一不起作用的部分是this.setState({century:samba.race})
. 这会导致Cannot read property 'setState' of undefined
.
我将如何重新setState
从我的数据库中获取数据?
javascript - Dexie:SubTransactionError
在 Dexie 中运行事务时出现此错误:
这仅在我运行此代码后发生:
DeleteApiToken 函数看起来像这样。
然后,Render 函数会导致应用程序重新渲染并运行更多事务,但它们都会抛出前面提到的错误。如果没有调用 DeleteApiToken,它们不会。
如果您可以看到我的代码出现错误,那就太好了,否则只需简单解释一下为什么会抛出 SubTransactionError 就足够了。谢谢!
javascript - 使用 React 和 Dexie 分配唯一的密钥 ID?
下面的代码缺少正确的 key 道具。我在这个例子中使用Dexie.js。
基本上,我有一个带有++id
. 现在,我想确保我的 var newFriend 自动增加它,但我不确定如何正确指定它。它旨在用于li key={result.id}
.
产生的错误是child keys must be unique; when two children share a key, only the first child will be used.
我想设置var newFriend
为自动增加我的 ID。
不要介意评论标签。他们对我以前的一个问题很感兴趣。
我已将它添加到 JSFiddle。 https://jsfiddle.net/7xet1nv0/1/
javascript - 在组件安装上反应查询数据库?
在这个例子中,我将 React 与Dexie.js一起使用。我有一个代码 zanzibar,它在运行时会将我的 IndexDB 中的对象列表添加到页面中。我有两件当前的事情要补充。
首先,查找我的数据库的 ID 似乎存在问题。例如,当我console.log(amigo.id)
在我的 peaches 函数下运行时,它返回undefined
. 我也没有在我的 indexDB 面板上看到 ID。
其次,现在我可以通过点击功能运行它,我还想通过componentDidMount
. 这样做的目的是在页面加载时将我的 indexDB 上的所有内容加载到我的页面。我的peaches
功能应该做到这一点,但我不太确定如何完成。
包含在 JSFiddle https://jsfiddle.net/jgwhxuam/
javascript - Reactjs 从 Dexie.js 中删除一个项目
此示例使用 Reactjs 和Dexie.js。我有一个没有 D 的 CRUD 应用程序,这是我目前需要的。虽然您可以将新项目输入并存储到数据库中,但我不确定如何选择已添加的每个项目并删除它们。我知道您必须通过他们的 ID 选择他们。
使用 i 标签,我附上了一个.onClick={this.removal}
. 但是,我不确定要向该removal
功能添加什么。
我已将我的代码包含在 JSFiddle 中
angular - 如何在 Angular2 中集成 DexieJs
当我尝试运行与 Dexie 相关的代码时出现此错误。
仅仅通过声明一个数据库,我已经有了上述错误。
我添加 Dexie 的约定方式是在 systemjs.config.js 中(在我的情况下,我使用了 Typescipt)
编辑 我的 src 代码可以在这里找到
已编辑
只是要清楚。我不是说这是 dexie 的图书馆问题。可能是我没有以正确的方式实施。因此,寻找在 angular2 中正确实现 dexie 的指南。
已编辑
我找到了这个链接,但是添加以下代码的解决方案对我不起作用
(解决方法)
不是什么,我几乎不能让它工作是通过脚本标签添加dexie
<script src="vendor/dexie/dist/dexie.min.js"></script>
,然后我可以直接使用dexie。
但问题是我无法导入 dexie 并且 dexie 的所有类型都丢失了。
我尝试手动复制 dexie.d.ts 并引用它,但打字稿不承认,所以我会有编译错误。