路由的概念
路由的本质是一种个对应关系,比如说在URL中输入要访问的url地址之后,浏览器要去请求这个地址对应的资源。
为什么要使用路由?
vue单文件应用,所以一般a标签跳转不再使用。这个时候我们需要借助vue-router插件来实现Vue组件之间的跳转。
vue-router安装
cnpm install vue-router --save
npm install vue-router --save
1、重定向
重定向通过 routes 配置来完成,重定向的目标可以是路径,已命名的路由,或者是一个方法
const router = new Router({
routes: [
{
path: '/a', redirect: '/b' }
]
}
const router = new Router({
routes: [
//一个命名的路由
{
path: '/a', redirect: {
name: 'c' }}
]
}
const router = new Router({
routes: [
//一个方法,动态返回
{
path: '/a', redirect: to => {
// 方法接收 目标路由 作为参数
// return 重定向的 字符串路径/路径对象
return '/home'
}}
]
}
其中方法接收目标路由作为参数,return 重定向的 字符串路径/路径对象。
2、别名
什么是别名? /a 的别名是 /b,意味着当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样。
作用:别名可以自由地将 UI 结构映射到任意的 URL,而不是受限于配置的嵌套路由结构。
比如,处理首页访问时,常常将index设置为别名,比如将’/home’的别名设置为’/index’。
但是,要注意的是,的样式在URL为/index时并不会显示。因为,router-link只识别出了home,而无法识别index