sana yönlendirici örneğini ihtiyaç olarak vuex-router-sync burada yardımcı olmaz tahmin ediyorum. bu WebPack içinde global olarak örneğini ayarlayabilirsiniz İdeal hissetmez rağmen nedenle
, yani
şimdi
global.router = new VueRouter({
routes
})
const app = new Vue({
router
...
Eğer mümkün olmalıdır: uygulamanız içindeki herhangi bir yerden router.push({ name: 'home', params: { id: 1234 }})
Alternatif olarak, yukarıdaki fikirlerden hoşlanmıyorsanız, eyleminizden bir Söz verebilirsiniz. Sonra eylem başarıyla tamamlanırsa, bir mutasyon veya bir şey çağırır varsayalım ve resolve
Sözünü yapabilirsiniz. Ancak başarısız olursa ve yönlendirme gereksinimleri ne olursa olsun size reject
Sözünü çarptı.
sen yönlendiricileri taşıyabilirsiniz Bu şekilde geçirilen varsayarak yani sadece reddedilen Promise yakalar ve vue-yönlendirici itmek ateşler bir bileşeni, ben rootState.router
eylemleriniz satışa sunulacak inanıyoruz
# vuex
actions: {
foo: ({ commit }, payload) =>
new Promise((resolve, reject) => {
if (payload.title) {
commit('updateTitle', payload.title)
resolve()
} else {
reject()
}
})
# component
methods: {
updateFoo() {
this.$store.dispatch('foo', {})
.then(response => { // success })
.catch(response => {
// fail
this.$router.push({ name: 'home', params: { id: 1234 }})
})
http://stackoverflow.com/questions/40736799/how-to-navigate-route-from-vuex-actions sayfasının kopyası – Saurabh