vue url变了页面没变_vue-router | 重定向和别名

前提:当你搭建完一个vue脚手架之后,通过localhost:8080打开一个页面时,url的显示会变成http://localhost:8080/#/,此时路由设置如下:

dee532eb92180e5d7c3a08c048404abd.png
图1

页面会显示home.vue里的内容。即是,通过localhost:8080打开页面,路由一定是到path:'/'这个页面的。

需求:打开localhost:8080链接,按enter键,进入localhost:8080/login路由页面解决方案:使用重命名redirect即可。

代码如下:

{
       path: '/',
       redirect: '/login'
}

拓展:

(1)开发者设置的路由里只有path为 '/home' 和 '/login' 的两个路由。但是此时要是,用户胡乱输入或者不小心输入不存在的路由时,那么页面将是一片空白。这虽然说不是错误,但是这并不是我们想要的。所以,可以设定——当用户输入不存在的路由时,统一跳转到某一页面。即是:

7ec1c31427d8796eb83741feaf48cb0e.png
图2

如图,比原来自动生成的index.js文件多了一行代码

mode: 'history'

这个的用途和以上提到的重命名无关,详情见HTML5 History模式

图2中实现的功能:

  1. 输入localhost:8080,回车,url变成localhost:8080/home,显示home页面内容。这是因为path:'*'表示不存在的路由。开发者只设置了'/home'和'/login'。'/'就是不存在、未设置的。
  2. 输入localhost:8080/abc,回车,url变成localhost:8080/home,显示home页面内容。这是因为path:'*'表示不存在的路由。开发者只设置了'/home'和'/login'。'/abc'就是不存在、未设置的。说白了个(1)是一个原因。
  3. 输入localhost:8080/home,回车,正常显示home里的内容,这个没得说,设置了的,输入啥就是啥。
  4. 输入localhost:8080/login,回车,也正常显示login里的内容,原因和(3)一样。
  5. 输入localhost:8080/b,回车,url不发生改变,仍为localhost:8080/b。显示home里的内容。这vue-router里的别名,就是给了个小名,指到同一个组件。

参考:vue-router | 重定向和别名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值