saurabh saurabh - 15 days ago 12
Javascript Question

How to navigate using vue router from Vuex actions

I am creating a web app with Vue 2.x and Vuex 2.x. I am fetching some information from a remote location via an http call, I want that if that call fails I should redirect to some other page.

GET_PETS: (state) => {
return $http.get('pets/').then((response)=>{
state.commit('SET_PETS', response.data)
})
},
error => {this.$router.push({path:"/"}) }
)
}


But
this.$router.push({path:"/"})
gives me following error.


Uncaught (in promise) TypeError: Cannot read property 'push' of undefined


How can this be achieved.

Simulated JsFiddle: here

M U M U
Answer

import router from './router

and use router.push

Simple like that.