关于vue-router中路由权限用到的router.mtcher说明
// 替换现有router的routesrouter.matcher = new VueRouter({routes: newRoutes}).matcherouter.matcher是比较核心的一个属性。对外提供两个方法match(负责route匹配), addRoutes(动态添加路由)。具体原因:在做路径切换transitionTo方法中,首先就会使用const route ...
·
// 替换现有router的routes
router.matcher = new VueRouter({
routes: newRoutes
}).matcher
outer.matcher是比较核心的一个属性。对外提供两个方法match(负责route匹配), addRoutes(动态添加路由)。
具体原因:在做路径切换transitionTo方法中,首先就会使用const route = this.router.match(location, this.current)来匹配route, 其实内部会使用matcher来做匹配。修改了matcher即新的routes生效。
对router.matcher属性做修改,即新的routes就会替换老的routes, 其实就是replaceRoutes()的含义(但是官方没有提供这个API)。
参考说明
https://segmentfault.com/a/1190000019386190?utm_source=tag-newest
更多推荐
已为社区贡献28条内容
所有评论(0)