温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue Router 4的新功能有哪些

发布时间:2021-10-28 17:49:47 来源:亿速云 阅读:239 作者:iii 栏目:web开发

本篇内容主要讲解“Vue Router 4的新功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue Router 4的新功能有哪些”吧!

Vue3支持

Vue 3引入了 createApp API,它改变了将插件添加到Vue实例的方式。由于这个原因,过去版本的Vue Router将不兼容Vue  3。

Vue Router 4引入了 createRouter API,可以创建一个可与Vue 3一起安装的路由器实例。

src/router/index.js:

import { createRouter } from "vue-router";  export default createRouter({   routes: [...], });

src/main.js:

import { createApp } from "vue"; import router from "./router";  const app = createApp({}); app.use(router); app.mount("#app");

History选项

在之前的Vue Router版本中,你可以设置 mode 选项设置导航的模式。

hash 模式利用URL hash来模拟完整的URL,这样当URL发生变化时,页面不会被重新加载。history 利用HTML5 History  API来实现URL导航,而不需要重新加载页面。

src/router/index.js:

// Vue Router 3 const router = new VueRouter({   mode: "history",   routes: [...] });

在Vue Router 4中,这些模式已被抽象到模块中,可以将其导入并分配给新的 history  选项。这种额外的灵活性使你可以根据需要自定义路由历史记录的实现。

src/router/index.js

// Vue Router 4 import { createRouter, createWebHistory } from "vue-router";  export default createRouter({   history: createWebHistory(),   routes: [], });

动态路由

当路由使用新的 .addRoute 方法运行时,Vue Router 4将允许你添加动态路由。

这可能不是你每天都会使用的功能,但是确实有一些有趣的用例。例如,假设你正在为一个文件系统应用程序创建一个用户界面,并且希望动态添加路径,你可以这样做:

src/components/FileUploader.vue:

methods: {   uploadComplete (id) {     router.addRoute({       path: `/uploads/${id}`,       name: `upload-${id}`,       component: FileInfo     });   } }

你还可以使用以下相关方法:

  • removeRoute

  • hasRoute

  • getRoutes

导航守卫可以返回值而不是next

导航守卫是Vue Router的钩子,允许用户在导航事件之前或之后运行自定义逻辑,如 beforeEach、beforeRouterEnter等。

它们通常用于检查用户是否有权限访问某个页面,验证动态路由参数,或者销毁监听器。

自定义逻辑运行后,next 回调用于确认路由、声明错误或重定向。

在第4版中,你可以从钩子中返回一个值或Promise来代替。这将允许像下面这样方便的速记。

// Vue Router 3 router.beforeEach((to, from, next) => {   if (!isAuthenticated) {     next(false);   }   else {      next();   } })  // Vue Router 4 router.beforeEach(() => isAuthenticated);

到此,相信大家对“Vue Router 4的新功能有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI