vue-router addroute用法
vue-router 的 addRoute() 方法用于在运行时动态添加路由。它需要传入一个包含路由配置的对象作为参数,例如:
```javascript
router.addRoute({
route add命令实例 path: '/new-route',
component: () => import('@/views/NewRoute.vue')
})
```
动态添加路由后,新的路由会立即生效,可以直接使用。同时,新路由的父级路由如果不存在,在添加子路由时也会自动创建。
需要注意的是,使用 addRoute() 方法添加的路由,如果想通过 ()、router.back() 或 router.forward() 等方法进行路由跳转,需要通过动态替换路由来实现:
```javascript
const newRoute = {
path: '/new-route',
component: () => import('@/views/NewRoute.vue')
}
router.beforeEach((to, from, next) => {
if (to.path === '/new-route' && !router.hasRoute(newRoute)) {
router.addRoute(newRoute)
// 动态替换路由
next(to.fullPath)
} else {
next()
}
})
```
在 beforeach 路由守卫中,我们可以先判断要跳转的路由是否为 addRoute() 方法添加的动态路由,如果是且该路由尚未被激活,即可调用 addRoute() 方法来动态添加路由,然后再通过 next(to.fullPath) 来实现动态路由的跳转。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论