je fais la connexion, mais après que les méthodes de connexion réussissent, je pousse une route pour l'objet $router
et cela ne fonctionne pas, quelqu'un peut-il m'aider?
mon code:
doLogin(){
this.attemptLogin({...this.user}).then(function(){
this.$router.Push('/')
} )
},
Ainsi, les méthodes de connexion s'exécutent comme prévu, mais le rappel this.$router.Push('/')
ne s'exécute pas
mon attemptLogin
est une action, son code suit:
export const attemptLogin = ( {commit}, user) => {
return http.post('login', {
'email': user.email,
'password': user.password
}).then(response => {
return commit(types.setToken, response.data)
}).catch( e => console.log(e))
}
Résolu, j'ai changé la méthode this.$router.Push()
de mon code en this.$router.go('/')
.
Merci pour tout le monde dans les commentaires.
Vous devez pousser vers un nom ou un chemin d'accès Essayez ceci:
this.$router.Push({ path: '/' })
this.$router.Push({ name: 'Home' })
J'ai eu le même problème. Assurez-vous de définir mode: 'history'
dans le routeur
Dans mon cas, j'ai trouvé que ma beforeRouteUpdate
n'exécute pas la méthode next()
Mauvais:
beforeRouteUpdate(to, from, next) {
/*
something...
*/
}
Bien:
beforeRouteUpdate(to, from, next) {
/*
something...
*/
next() // DO IT!
}