为了账号安全,请及时绑定邮箱和手机立即绑定

关于在vuex 的mutations 里面访问不到router的实例?

关于在vuex 的mutations 里面访问不到router的实例?

qq_遁去的一_1 2019-03-21 16:40:04
当在mutations 里面去添加路由的时候,报错了。刚接触vuex 不是很清楚这里的关系,希望各位大佬能够解答一二。什么情况下会出现这种问题,给予一个思路也是可以的。mutations :{    // 动态添加主界面路由,需要缓存     updateAppRouter: (state, routes) => {       state.routers.push(...routes)       router.addRoutes(routes)     },    // 动态添加全局路由,不需要缓存     updateDefaultRouter (state, routes) {       router.addRoutes(routes)     }, }
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

vuex的mutation中是看不到router对象的。。。
mutation最好只用来更新state的属性,不用做其他。
如果要引用路由对象应该在Vue对象中使用。

查看完整回答
反对 回复 2019-03-21
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

不能把这句放到外面去执行吗router.addRoutes(routes)
那可以试试吧router对象传进去

this.$store.commit('router', {path: '/', router :this.$router});

router(state, {path, router}) {
    router.push(path);
  }


查看完整回答
反对 回复 2019-03-21
  • 2 回答
  • 0 关注
  • 635 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信