在 JavaScript 文件中添加 Dexie.js 查询会提示缺少类型

Posted

技术标签:

【中文标题】在 JavaScript 文件中添加 Dexie.js 查询会提示缺少类型【英文标题】:Adding Dexie.js queries in JavaScript file gives hint of missing type 【发布时间】:2022-01-01 10:38:15 【问题描述】:

如果我在 javascript 文件中添加 Dexie.js 查询,例如:

let friends = liveQuery(async () => 
  return await db.friends
    .where("age")
    .between(18, 65)
    .toArray();
);

我得到这样的提示:

“'Dexie'.ts(2339) 类型上不存在属性'friends'”

为什么?

将它放在Svelte 文件中很好,但我想将一些基本查询保存在一个地方,例如查找、添加和删除。

【问题讨论】:

为什么用 Visual Studio Code 标记? 在 vscode 中。应该这么说。 【参考方案1】:

我想您指的是 TypeScript 错误。如果您没有按照Dexie's Svelte tutorial 的建议对 Dexie 进行子类化,那么您不能直接使用 db.friends 而不会出现 TypeScript 抱怨。如果不想继承 Dexie,也可以使用table() 方法:

let friends = liveQuery(async () => 
  return await db.table('friends')
    .where("age")
    .between(18, 65)
    .toArray();
);

【讨论】:

以上是关于在 JavaScript 文件中添加 Dexie.js 查询会提示缺少类型的主要内容,如果未能解决你的问题,请参考以下文章

Quasar Q 表和数组中的数据(IndexedDB 和 Dexie)

Dexie -> 列名作为变量

如何使用 dexie.js 添加新条目

有没有更好的方法可以使用 dexie 在 svelte 中编写此代码?

在 Quasar 中使用 Dexie 导出 IndexedDB 数据库

Dexie 中 Table.bulkPut 在 .then() 中返回啥?