我正在尝试使用Firebase Auth在Nuxt中实现身份验证保护,但是我一直遇到问题。目前,我可以登录,但是登录后未加载正确的页面,登录后,用户应重定向到“ / profile-overview”页面,但不会发生。当我从“配置文件”页面导航到另一个页面,然后返回时,我确实会自动转到“配置文件概述”页面。因此登录有效,登录后页面的导航/刷新有问题。另外,当我刷新页面时,该用户再次注销时,除了该用户之外,我是否还会登录?
到目前为止,我的代码:
页:
loginGoogle () {
this.$store.dispatch('signInWithGoogle').then(() => {
console.log('reload')
location.reload()
//window.location.reload(true)
}).catch((e) => {
this.title = 'Google login failed'
this.message =
"Something went wrong, please try again later. If this problem keeps happening please contact: jonas@co-house.be " + "Error: " + e.message;
this.dialog = true;
})
},
Run Code Online (Sandbox Code Playgroud)
中间件:
export default function ({ store, redirect, route }) {
console.log('user state' + store.state.user)
console.log('route ' + route.name)
store.state.user != null && route.name == 'profile' ? redirect('/profile-overview') : '' …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的VueJS应用程序转换为NuxtJS以与SSR一起使用。我被困试图用asyncData加载数据。当我将查询添加到'mounted() {}'函数中时,它可以正常工作asyncData(){},但无法使用它,因此可以使用SSR。
有谁知道如何解决这个问题。
我的代码:
<ul>
<li v-for='province in provinces' v-bind:key="province.id"> {{province.name_nl}}</li>
</ul>
asyncData () {
return { msg: 'Welcome to my new app' }
const moment = require("moment");
var date = moment(new Date()).format("YYYY-MM-DD");
let housesArray = []
let provincesArray = []
return firebase.firestore()
.collection('provinces')
.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
provincesArray.push(doc.data());
});
return {provinces: provincesArray}
});
},
Run Code Online (Sandbox Code Playgroud)
还是我应该采取另一种方式?请记住,它确实必须与SSR一起使用。
PS:是的,此代码位于我的页面文件夹中,而不是组件中,我知道这是不允许的。