Vue.js无法检查用户是否已登录计算属性



我想检查用户是否登录了Firebase,但在计算属性中无法登录。

我想做的是根据用户是否登录来显示表格。

<v-form
ref="form"
v-if="isSignedIn"
v-model="valid"
lazy-validation>
...
computed: {
isSignedIn() {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
return true
} else {
return false
}
})
},

即使我使用observer,属性仍然是undefined

然而,这种方式是有效的。(我检查了用户是否在方法中登录,并将结果分配到变量中。(

<v-form
ref="form"
v-if="flag"
v-model="valid"
lazy-validation>
...
methods: {
isSignedIn() {
firebase.auth().onAuthStateChanged((user) => {
if (user) {
this.flag = true
} else {
this.flag = false
}
})    
}
},
mounted() {
this.isSignedIn()
}

第一条路怎么了?

如果没有Vue.js组件代码的更多细节,很难为您提供帮助。

但是,请注意,文档说明:

获取当前用户的推荐方法是设置一个观察者在Auth对象上

firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.   
} else {
// No user is signed in.   
} 
});

最新更新