如何解决Vuex、Vuexfire:如何将数据从 firestore 获取到前端?
我在 firestore 中有一些数据,想在我的 vue 应用中显示它。
测试.vue
<template>
<p>{{ items }}</p>
</template>
<script>
import { mapState } from "vuex";
export default {
computed: mapState(["items"]),methods: {
getItems() {
this.$store.dispatch("bindItems");
},},mounted() {
this.getItems();
},};
</script>
index.js
import { createStore } from "vuex";
import { firestoreAction } from "vuexfire";
import { vuexfireMutations } from "vuexfire";
import { db } from "./db";
const store = createStore({
state() {
return {
items: [],};
},actions: {
bindItems: firestoreAction(({ bindFirestoreRef }) => {
return bindFirestoreRef("items",db.collection("items"));
}),mutations: {
...vuexfireMutations,getters: {
items(state) {
return state.items;
},});
store.subscribe((state) => console.log(state));
export default store;
为了查看我的商店,我在 index.js
中添加了这一行:store.subscribe((state) => console.log(state));
。事实证明,来自 firestore 的数据实际上已发送到我的商店:
为什么前端不渲染?我需要改变什么才能让它出现?
编辑。
当我对我的商店中的一些数据进行硬编码并从 monuted 钩子中删除 this.$store.dispatch("bisndItems");
时,数据被呈现:
state() {
return {
items: {"name": "peter"},};
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。