【发布时间】:2020-04-25 20:20:54
【问题描述】:
我正在尝试使用 Dexie 创建一个用户查询,用户可以自己查询数据库,但我无法让它工作。
<!-- html -->
<div class="window" style="padding-top: 1.5rem;">
<link rel="stylesheet" type="text/css" href="./css/bootstrap-grid.min.css">
<div class="window-content">
<div class="pane-group">
<div class="pane" style="padding:4rem;padding-top: 0 ">
<h3 class="text-center"><u><span class="icon icon icon-code icon-text" style="color:#4e5851;padding-right:1rem "></span>Advanced Queries</u></h3>
<table class="table-striped mb-2">
<thead>
<tr>
<th colspan="3"><input class="form-control" type="" name="query" id="query"></th>
<th style="width:4rem"><button class="btn btn-default" id="run">
<span class="icon icon-search"></span>
</button></th>
</tr>
</thead>
</table>
<div class ="row" style="display: flex" id='display_body'>
</div>
</div>
</div>
</div>
</div>
//script
document.querySelector('#run').addEventListener("click", function(){
const { init_data} = require('../res/reusable');
var db = init_data(Dexie);
let torun = document.querySelector('#query').value;
let mangoArray=torun.split('.')
//console.log('mangoArray');
if (mangoArray.length== '1') {
db[mangoArray[0]].each(item=>{
console.log(item);
});
}else if(mangoArray.length== '2'){
db[mangoArray[0]][mongoArray[1]].each(item=>{
console.log(item);
});
}
});
当我在输入中输入devices (dexie 数据库中的一个表它可以工作)
完全应该运行db.devices.each
但是我不能让函数在 dexie 类中工作。所以当我 输入
devices.orderBy('name')我得到未定义的错误
//error
Uncaught TypeError: Cannot read property 'each' of undefined
我如何做到这一点?
【问题讨论】:
-
真的投反对票!我打破了什么堆栈溢出规则?
-
错误信息表示您正在尝试从
undefined实例运行each函数。db[mangoArray[0]]或db[mangoArray[0]][mongoArray[1]]返回未定义。调试它 -
db[mangoArray[0]]运行正常,第二个不在这里检查第一个stackoverflow.com/questions/59220777/… -
err more downvote 似乎没有人相信我,但有人尝试它是我面临的真正问题。这不是逻辑错误
-
“当我在输入中输入设备时”。首先很酷,如果您希望有人花时间帮助您,那么您还应该花时间改进您的问题并添加所有相关参数,而不是抛出 1-2 句话和完整的源代码
标签: javascript dexie