【问题标题】:Is there a way to auto render items from the backend?有没有办法从后端自动渲染项目?
【发布时间】:2020-12-21 10:44:39
【问题描述】:

我在一个方法中从后端检索数据。如何在应用启动时自动在组件中呈现该数据?

我尝试使用mountbeforemount

还有其他方法吗?

state() {
    return {
        FirebaseList: []
    }
},
mutation: {
    firebaseList(state,items) {
        state.FirebaseList.push(items)
    },
},
getters: {
    getFirebaseList(state) {
        return state.FirebaseList
    }
}
beforemount() {
    return this.dataitems
},
methods: {
  dataitems() {
      db.collection("Orders")
        .get()
        .then((querySnapshot) => {
            querySnapshot.forEach((doc)=> {
                // console.log(doc.id, " => ", doc.data());
                var list= doc.data()
                this.$store.commit('firebaseList',list)
            });
        });
    },
}

此代码可以正常工作,但是,每当我重新打开页面时,它都会再次装载数据,并且我在屏幕上看到重复的数据。

【问题讨论】:

  • 显示您使用的挂载方法,以及您遇到的错误。
  • @MRMarkII 我现在编辑帖子检查

标签: javascript firebase vue.js google-cloud-firestore


【解决方案1】:

我通过简单地检查列表是否有一些项目来解决它,然后不要推送这些项目。这阻止了列表复制项目。

if (this.$store.state.FirebaseList.length===0){
// run the fetch code
}
else {
return
}

【讨论】:

    猜你喜欢
    • 2016-08-01
    • 1970-01-01
    • 2010-12-04
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多