事实是我正在使用Dexie + VueJs,我正在打印一个包含记录列表的表,还有一个用于计算相关记录的附加字段,但是,我不知道如何在一个干净的方式。
我想做的是:
var vueElement = new Vue({
el: '#myElement',
data: {
states: []
},
computed: {
cities: function (s) {
return db.cities.where('stateId').equals(s.id).count(); // How can I do this?
}
}
});
// Initialize states in vue object
db.states.toArray().then(function (arr) {
vueElement.states = arr;
});
答案 0 :(得分:2)
因为大多数(如果不是所有)dexie操作都在运行异步,你需要先执行dexie异步操作,然后执行(使用dexie返回的数据初始化vue组件)。
或者你可以尝试在没有数据的情况下初始化vue组件,并根据你的使用情况在创建/安装时,从db请求数据并更新你的状态。
我希望它有所帮助