1

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

1 回答 1

2

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

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

我希望它有帮助

于 2017-02-27T08:14:25.477 回答