如何同步将数据从Dexie传递给Vue?

时间:2017-02-27 00:44:04

标签: indexeddb vuejs2 vue.js dexie

事实是我正在使用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;
});

1 个答案:

答案 0 :(得分:2)

因为大多数(如果不是所有)dexie操作都在运行异步,你需要先执行dexie异步操作,然后执行(使用dexie返回的数据初始化vue组件)。

或者你可以尝试在没有数据的情况下初始化vue组件,并根据你的使用情况在创建/安装时,从db请求数据并更新你的状态。

我希望它有所帮助