當(dāng)在mutations 里面去添加路由的時(shí)候,報(bào)錯(cuò)了。剛接觸vuex 不是很清楚這里的關(guān)系,希望各位大佬能夠解答一二。什么情況下會(huì)出現(xiàn)這種問(wèn)題,給予一個(gè)思路也是可以的。mutations :{ // 動(dòng)態(tài)添加主界面路由,需要緩存
updateAppRouter: (state, routes) => {
state.routers.push(...routes)
router.addRoutes(routes)
}, // 動(dòng)態(tài)添加全局路由,不需要緩存
updateDefaultRouter (state, routes) {
router.addRoutes(routes)
},
}
2 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
vuex的mutation中是看不到router對(duì)象的。。。
mutation最好只用來(lái)更新state的屬性,不用做其他。
如果要引用路由對(duì)象應(yīng)該在Vue對(duì)象中使用。

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
不能把這句放到外面去執(zhí)行嗎router.addRoutes(routes)
那可以試試吧router對(duì)象傳進(jìn)去
this.$store.commit('router', {path: '/', router :this.$router}); router(state, {path, router}) { router.push(path); }
添加回答
舉報(bào)
0/150
提交
取消