本篇文章和大家一下了解下vue router4中的酷炫功能。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
vue router 4 已经发布了,我们来看看新版本中有哪些很酷的特性。【相关推荐:《vue.js教程》】
vue3 支持vue 3 引入了createapp api,该api更改了将插件添加到vue实例的方式。 因此,以前版本的vue router将与vue3不兼容。
vue router 4 引入了createrouter api,该api创建了一个可以在vue3中安装 router 实例。
// src/router/index.jsimport { createrouter } from "vue-router";export default createrouter({ routes: [...],});
// src/main.jsimport { createapp } from "vue";import router from "./router";const app = createapp({});app.use(router);app.mount("#app");
history 选项在 vue router的早期版本中,我们可以mode 属性来指定路由的模式。
hash 模式使用url哈希来模拟完整的url,以便在url更改时不会重新加载页面。 history 模式利用 html5 history api 来实现url导航,也是无需重新加载页面。
// vue router 3const router = new vuerouter({ mode: "history", routes: [...]});
在vue router 4中,这些模式已被抽象到模块中,可以将其导入并分配给新的history 选项。 这种额外的灵活性让我们可以根据需要自定义路由器。
// vue router 4import { createrouter, createwebhistory } from "vue-router";export default createrouter({ history: createwebhistory(), routes: [],});
动态路由vue router 4 提供了addroute 方法实现动态路由。
这个方法平时比较少用到,但是确实有一些有趣的用例。 例如,假设我们要为文件系统应用程序创建ui,并且要动态添加路径。 我们可以按照以下方式进行操作:
methods: { uploadcomplete (id) { router.addroute({ path: `/uploads/${id}`, name: `upload-${id}`, component: fileinfo }); }}
我们还可以使用以下相关方法:
removeroutehasroutegetroutes导航守卫可以返回值并非next导航守卫是vue router的钩子,允许用户在跳转之前或之后运行自定义逻辑,例如 beforeeach,beforerouterenter等。
它们通常用于检查用户是否有权访问某个页面,验证动态路由参数或销毁侦听器。
在版本4中,我们可以从hook 方法中中返回值或promise。 这样可以方便快捷地进行如下操作:
// vue router 3router.beforeeach((to, from, next) => { if (!isauthenticated) { next(false); } else { next(); }})// vue router 4router.beforeeach(() => isauthenticated);
这些只是版本4中添加的一些新特性,大家可以到官网去了解一下更多的信息。
英文原文地址:https://vuejsdevelopers.com/topics/vue-router/
作者:matt maribojoc
更多编程相关知识,请访问:编程视频!!
以上就是一文带你看看vue router4中的酷炫功能的详细内容。