我正在尝试从我创建的API中获取数据,该数据按我的意愿列出,但是我无法操纵该数据,因为它返回了[ ob :观察者” 。如何从中提取数据?
Store.js:
items: state => {
item.getAll().then(response => {
state.items = response.data
})
return state.items
},
Component.vue:
...mapGetters(["items"]),
<v-card flat v-for="item in items" :key="item.title">
答案 0 :(得分:0)
就像@skirtle所说的那样,因为我正在使用异步任务,所以我需要将函数移至动作。
我的最终代码以这种方式结束:
getters: {
items: state => state.items,
...
}
mutations: {
'LOAD_ITEMS'(state, data) {
const items = []
for (let key in data) {
const item = data[key];
item.id = key;
items.push(item);
}
state.items = items;
...
}
actions: {
loadItems({ commit, state }) {
...
return axios.get("item.json")
.then(response => {
commit("LOAD_ITEMS", response.data);
}).catch(error => console.log(error));
}
}
我正在使用Firebase,所以我做了一个循环来存储密钥。
如果您拥有自己的API,也许可以直接将response.data存储在JS对象中,而无需使用循环。