一、安装
如果你用vue-cli脚手架来搭建项目,配置过程会选择是否用到路由(详细见vue-cli 脚手架),如果选择y,后面下载依赖会自动下载vue-router。
这里还是说一下安装:npm install vue-router
二、创建组件
如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能,用vue-cli生产了我们的项目结构,src文件目录下会有一个router文件夹,此处就是编写路由组件的地方。在src/router/index.js,这个文件就是路由的核心文件:
import Vue from 'vue' //引入Vue
import Router from 'vue-router' //引入vue-router
import Hello from '@/components/Home' //引入根目录下的Home.vue组件
import HomeChild from '@/components/HomeChild'
Vue.use(Router) //Vue全局使用Router
const routes=[ //配置路由,这里是个数组
{ //每一个链接都是一个对象
path: '/', //链接路径
name: 'Hello', //路由名称,
component: Hello //对应的组件模板
},
{
path:'/HomeChild',
component:HomeChild,
children:[ //子路由,嵌套路由 (此处偷个懒,免得单独再列一点)
{path:'/',component:one},
{path:'one',component:one}
]
}
]
三、router-link
1.router-link 是一个组件,它默认会被渲染成一个带有链接的a标签,通过to属性指定链接地址。
注意:被选中的router-link将自动添加一个class属性值.router-link-active。
<router-link to="/">item</router-link>
1.to:导航路径,要填写的是你在router/index.js文件里配置的path值,如果要导航到默认首页,只需要写成 to="/" ,
2.item :就是我们要显示的导航名称。
2.router-view 用于渲染匹配到的组件。
①.可以给router-view组件设置transition过渡(其实就是指向的意思)。
<transition name="">
<router-view ></router-view>
</transition>
②.还可以配合使用,keep-alive可以缓存数据,这样不至于重新渲染路由组件的时候,之前那个路由组件的数据被清除了。比如对当前的路由组件a进行了一些DOM操作之后,点击进入另一个路由组件b,再回到路由组件a的时候之前的DOM操作还保存在,如果不加keep-alive再回到路由组件a时,之前的DOM操作就没有了,得重新进行。如果你的应用里有一个购物车组件,就需要用到keep-alive。
<transition>
<keep-alive>
<router-view></router-view>
</keep-alive>
</transition>