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

当在mutations 里面去添加路由的时候,报错了。
刚接触vuex 不是很清楚这里的关系,希望各位大佬能够解答一二。什么情况下会出现这种问题,给予一个思路也是可以的。
https://img1.mukewang.com/5c8bca430001c5ec08440141.jpg

mutations :{    // 动态添加主界面路由,需要缓存
    updateAppRouter: (state, routes) => {
      state.routers.push(...routes)
      router.addRoutes(routes)
    },    // 动态添加全局路由,不需要缓存
    updateDefaultRouter (state, routes) {
      router.addRoutes(routes)
    },
}


牧羊人nacy
浏览 475回答 2
2回答

梦里花落0921

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

慕桂英546537

state中没有定义router,所以会报错想要实现你的这个需求,可以直接将router import进去然后在mutation中直接router.push()就可以了
打开App,查看更多内容
随时随地看视频慕课网APP