Vue.js 如何使Firestore Persience与使用vuejs制作的渐进式Web应用程序配合使用

Vue.js 如何使Firestore Persience与使用vuejs制作的渐进式Web应用程序配合使用,vue.js,google-cloud-firestore,persistence,progressive-web-apps,Vue.js,Google Cloud Firestore,Persistence,Progressive Web Apps,我用vuejs做了一个应用,顺便说一句,太棒了。 它使用具有本地持久性的firebase身份验证, 还有一个启用了持久性的firestore数据库。 一切似乎都很好。 我决定用它做一个PWA,这样人们可以离线使用它, 资产是从缓存加载的,我有安装横幅。 我的问题是firestore持久性工作不正常 问题1:脱机时,当我向firestore“members”集合插入成员时,ui不会刷新(一旦我重新联机,用户就在列表中,因此持久性部分工作) 问题2:成员名单。脱机时,应用程序无法访问持久性 “成员

我用vuejs做了一个应用,顺便说一句,太棒了。 它使用具有本地持久性的firebase身份验证, 还有一个启用了持久性的firestore数据库。 一切似乎都很好。 我决定用它做一个PWA,这样人们可以离线使用它, 资产是从缓存加载的,我有安装横幅。 我的问题是firestore持久性工作不正常

  • 问题1:脱机时,当我向firestore“members”集合插入成员时,ui不会刷新(一旦我重新联机,用户就在列表中,因此持久性部分工作)

  • 问题2:成员名单。脱机时,应用程序无法访问持久性 “成员”集合的版本

此列表在应用程序加载时加载,但在刷新后,它将消失。 实现这一问题的最佳途径是什么?
谢谢您的帮助。

我终于找到了一个解决方案: 我创建了一个方法:

realtimeListenerMembres() {
      // real-time listener
      let self = this;
      this.$firebase
        .firestore()
        .collection("membres")
        .onSnapshot((snapshot) => {
          //console.log(snapshot.docChanges());

          snapshot.docChanges().forEach((change) => {
            if (change.type === "added") {
              self.membres.push({
                ...change.doc.data(),
                id: change.doc.id,
              });
            }
            if (change.type === "removed") {
              // remove the document data from the web page
            }
            self.sendToGroupe();
          });
        });
ant我将cal放入“创建”循环

现在persistense可以作为firestore的资产。 pwa可以完全脱机工作,然后在需要时与firestore同步 互联网连接可以追溯到过去

created() {
    this.realitimeListenerGroupe();
    this.realtimeListenerMembres();
    this.realtimeListenerReunions();
  },