【发布时间】:2020-08-15 05:50:16
【问题描述】:
我的 indexedDB 中的 console.log 工作并返回我想要的结果;当前在商店中的一组对象。所以我的代码是正确的。我将使用这些信息来构建一个表。然而,在 Vue 中它返回 undefined。我正在尝试将 Vue 中的联赛数组设置为等于 indexedDB 给出的结果数组,但它返回未定义。
这是 Vue 中的代码:
<script>
import * as db from "../db/db.js";
export default {
name: "leaguesTable",
data: function() {
return {
leagues: []
};
},
created: function() {
this.leagues = db.getAllInStore("meta", "leagues");
console.log(this.leagues);
}
};
</script>
这是我的 indexedDB 代码:
function getAllInStore(dbName, storeName) {
let db;
var request = indexedDB.open(dbName, 1);
request.onerror = function(event) {
alert("Database error" + event.target.errorCode);
};
request.onsuccess = function(event) {
db = event.target.result;
let tx = db.transaction(storeName, "readonly");
tx.onerror = function(event) {
alert("Transaction error" + event.target.errorCode);
};
let store = tx.objectStore(storeName);
let result = store.getAll();
tx.oncomplete = function() {
alert("This should work");
console.log(result.result);
return result.result;
};
};
}
【问题讨论】:
标签: arrays vue.js vue-component javascript-objects indexeddb