router.addRoute
和 router.addRoutes
是 Vue Router 中用于动态添加路由的两个方法,它们的区别在于添加路由的方式和参数类型。
-
router.addRoute(route: RouteRecordRaw): void
addRoute
方法用于添加单个路由对象到路由器中。它接受一个RouteRecordRaw
类型的参数,表示要添加的路由对象。示例代码:
const route = { path: '/dynamic', component: DynamicComponent }; router.addRoute(route);
使用
addRoute
方法添加的路由将立即生效,并可以在当前路由的导航过程中使用。 -
router.addRoutes(routes: RouteRecordRaw[]): void
addRoutes
方法用于添加多个路由对象到路由器中。它接受一个数组类型的参数,其中每个元素都是RouteRecordRaw
类型的路由对象。示例代码:
const routes = [ { path: '/dynamic1', component: DynamicComponent1 }, { path: '/dynamic2', component: DynamicComponent2 } ]; router.addRoutes(routes);
使用 addRoutes
方法添加的路由将在下一次导航时生效。你需要重新触发导航,或者在当前导航完成后进行导航,以使添加的路由生效。
总结:
addRoute
用于添加单个路由对象,立即生效。addRoutes
用于添加多个路由对象,需要在下一次导航时生效。
根据你的具体需求,选择合适的方法来添加动态路由。如果你只需要添加一个路由,可以使用 addRoute
。如果你需要添加多个路由,可以使用 addRoutes
,并确保在适当的时机触发导航以使路由生效。