Javascript 在vue中是否有自动更新此代码的功能?

Javascript 在vue中是否有自动更新此代码的功能?,javascript,firebase,vue.js,nuxt.js,Javascript,Firebase,Vue.js,Nuxt.js,我在导航器中找到了这个按钮,当用户登录时显示,当用户注销时,该按钮消失。但是现在我需要在按钮移除/显示之前刷新我的页面。这是我的密码: 按钮: <div v-if="ingelogd"> <div class="w-2/12 hidden lg:flex" v-for="(data, index) in allIngelogds" :key="index"> <button

我在导航器中找到了这个按钮,当用户登录时显示,当用户注销时,该按钮消失。但是现在我需要在按钮移除/显示之前刷新我的页面。这是我的密码: 按钮:

<div v-if="ingelogd">
  <div class="w-2/12 hidden lg:flex" v-for="(data, index) in allIngelogds" :key="index">
    <button @click="uitloggen" class="downloadbtn">
      {{ data.uitloggenKnop }}
    </button>
  </div>
</div>
然后我创建了一个
mounted()
函数来更新用户是否登录:

mounted() {
    const user = firebase.auth().currentUser
    if(user) {
      this.ingelogd = true;
    }
  },
是的,我导入了firebase和firebase/auth,allIngelogds是一个graphql查询。

检查上面的答案。懒散的方式或不是很好的方法将是

vm.$forceUpdate()

但这不是一个好办法。阅读上述链接中的更多内容。

检查上面的答案。懒散的方式或不是很好的方法将是

vm.$forceUpdate()


但这不是一个好办法。阅读上述链接中的更多内容。

您需要使用一个
onAuthStateChanged
侦听器,而不是
currentUser

mounted() {
  firebase.auth().onAuthStateChanged((user) => {
    if(user) {
      this.ingelogd = true;
    }
  });
},
每次登录状态更改时,
onAuthStateChanged
侦听器都会被调用,这确保您的
ingelogd
始终反映此状态


有关这方面的更多信息,请参阅Firebase文档中的第一个片段。

您需要使用
onAuthStateChanged
侦听器而不是
currentUser

mounted() {
  firebase.auth().onAuthStateChanged((user) => {
    if(user) {
      this.ingelogd = true;
    }
  });
},
每次登录状态更改时,
onAuthStateChanged
侦听器都会被调用,这确保您的
ingelogd
始终反映此状态

有关这方面的更多信息,请参阅上Firebase文档中的第一个片段