Vue路由 重定向和别名的区别说明


Posted in Javascript onSeptember 09, 2020

重定向

重定向也是通过 routes 配置来完成,下面例子是从 /a 重定向到 /b:

const router = new VueRouter({
 routes: [
 { path: '/a', redirect: '/b' }
 ]
})

重定向的目标也可以是一个命名的路由:

const router = new VueRouter({
 routes: [
 { path: '/a', redirect: '/b' }
 ]
})

甚至是一个方法,动态返回重定向目标:

const router = new VueRouter({
 routes: [
 { path: '/a', redirect: to => {
 // 方法接收 目标路由 作为参数
 // return 重定向的 字符串路径/路径对象
 }}
 ]
})

注意导航守卫并没有应用在跳转路由上,而仅仅应用在其目标上。在下面这个例子中,为 /a 路由添加一个 beforeEach 或 beforeLeave 守卫并不会有任何效果。

其它高级用法,请参考例子。

别名

『重定向』的意思是,当用户访问 /a时,URL 将会被替换成 /b,然后匹配路由为 /b,那么『别名』又是什么呢?

/a 的别名是 /b,意味着,当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样。

上面对应的路由配置为:

const router = new VueRouter({
 routes: [
 { path: '/a', component: A, alias: '/b' }
 ]
})

『别名』的功能让你可以自由地将 UI 结构映射到任意的 URL,而不是受限于配置的嵌套路由结构。

补充知识:vue-router重定向redirect和别名alias的用法区分

vue-router是vue框架的重要且常用的插件之一,用于单页面应用的路径打包管理。项目中常会用到redirect和alias以做“页面假动作”跳转。

重定向redirect

顾名思义,这个属性用于重定向页面跳转路径。简单说就是设置了一个路由,它有自己的路径,但重定向跳转至另一个路由。

export default new Router({
 routes: [
  {
   path: '/',
   name: 'HelloWorld',
   component:HelloWorld 
  },
  {
   path:'/gohome',
   redirect:'/'
  }
 ]
})

<router-link to="/">Home</router-link>|

<router-link to="/gohome">goHome</router-link>

如例子,“/gohome”的路由结果跳转至“/”根目录路由,最终结果就是两个路由显示的页面内容完全一致。注意:包括浏览器地址栏的路由原路径也随之改变显示为重定向的路径!

别名alias

其实就是为某个路由增加一个“花名”——新路径,使得不管应用到哪条路径最终都显示同一个路由的页面内容。举例:

export default new Router({
 routes: [
  {
   path:'/hi1',
   component:hi1,
   alias:'/Jsxj'
  }
 ]
})

<router-link to="/hi1">Hi1</router-link>|

<router-link to="/Jsxj">Jsxj</router-link>

如上,指向别名alias路径的'router-link'会跳转至path路径的路由页面,最终两个路径都会显示相同的页面内容。但区别于重定向的一点是,浏览器地址栏会保留alias的路径不会随之变动! 这可能是客户往往更想看到的东西。

另外,重定向带参数的目标路由时,该路由的路径中参数名应与目标路由路径参数名一致,才可以向目标路由传递对应参数值。

以上这篇Vue路由 重定向和别名的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
详细讲解JS节点知识
Jan 31 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
javascript实现div的显示和隐藏的小例子
Jun 25 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
javascript从作用域链谈闭包
Jul 29 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
原生JS实现日历组件的示例代码
Sep 22 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 Javascript
Node.js API详解之 assert模块用法实例分析
May 26 Javascript
JavaScript常用8种数组去重代码实例
Sep 09 #Javascript
Vue项目配置跨域访问和代理proxy设置方式
Sep 08 #Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 #jQuery
js实现右键弹出自定义菜单
Sep 08 #Javascript
vue 使用原生组件上传图片的实例
Sep 08 #Javascript
使用js和canvas实现时钟效果
Sep 08 #Javascript
javascript使用canvas实现饼状图效果
Sep 08 #Javascript
You might like
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
php在window iis的莫名问题的测试方法
2013/05/14 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Django日志及中间件模块应用案例
2020/09/10 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
优秀教师先进事迹
2014/01/22 职场文书
个人查摆剖析材料
2014/02/04 职场文书
成绩单公证书
2014/04/10 职场文书
股份合作协议书范本
2014/04/14 职场文书
瘦西湖导游词
2015/02/03 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
个人求职信格式范文
2015/03/20 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS