VueRouter4目前处于测试阶段。让我们来看看这个新版本中的一些很酷的功能。Vue3支持Vue3引入了createAppAPI,它改变了将插件添加到Vue实例的方式。因此,过去版本的VueRouter将无法与Vue3兼容。VueRouter4引入了createRouterAPI来创建可以与Vue3一起安装的路由器实例。src/router/index.jsimport{createRouter}from"vue-router";exportdefaultcreateRouter({routes:[...],});src/main.jsimport{createApp}from"vue";importrouterfrom"./router";constapp=createApp({});app.use(router);app.mount("#app");Historyoption在之前版本的VueRouter中,可以设置mode选项来设置导航模式。哈希模式利用URL哈希来模拟完整的URL,以便在URL更改时不会重新加载页面。history利用HTML5HistoryAPI启用URL导航而无需重新加载页面。src/router/index.js//VueRouter3constrouter=newVueRouter({mode:"history",routes:[...]});在VueRouter4中,这些模式已经被抽象成模块,可以将其导入并分配给新的history选项。这种额外的灵活性允许您根据需要自定义路由历史实现。src/router/index.js//VueRouter4import{createRouter,createWebHistory}from"vue-router";exportdefaultcreateRouter({history:createWebHistory(),routes:[],});路由使用新的VueRouter4时的动态路由将允许您在.addRoute方法运行时添加动态路由。这可能不是您每天都会使用的功能,但它确实有一些有趣的用例。例如,如果您正在为文件系统应用程序创建UI并希望动态添加路由,您可以这样做:src/components/FileUploader.vuemethods:{uploadComplete(id){router.addRoute({path:`/uploads/${id}`,名称:`upload-${id}`,组件:FileInfo});您还可以使用以下相关方法:removeRoutehasRoutegetRoutesNavigationguards可以返回值而不是nextNavigationguards是VueRouterHooks,允许用户在导航事件之前或之后运行自定义逻辑,例如beforeEach、`beforeRouterEnter等。它们通常用于检查用户是否有权访问页面、验证动态路由参数或销毁侦听器。自定义逻辑运行后,下一个回调用于确认路由、声明错误或重定向。在版本4中,您可以从钩子中返回一个值或Promise。这将允许像下面这样方便的速记。//VueRouter3router.beforeEach((to,from,next)=>{if(!isAuthenticated){next(false);}else{next();}})//VueRouter4router.beforeEach(()=>已认证);总之,这些只是版本4中添加的一些新功能。您可以在VueRouterNext存储库中了解更多信息。感谢Eduardo和团队在VueRouter4上付出的巨大努力!Resources最近整理了一份优质的视频教程资源,想要的可以关注公众号免费领取!
