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文档中的第一个片段