一、情景说明
实现Vue
项目页面的单页面无抖动跳转
这个时候就需要vue-router
插件的支持
二、案例
1、安装
vue2
安装的vue-router
版本对应的是3
版本
vue3
安装的vue-router
版本对应的是4
版本
安装
npm i vue-router@3
查看版本
npm list vue-router
2、编写路由器文件
vue_test/src/router/index.js
我这里用两个组件进行案例演示
// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../components/About'
import Home from '../components/Home'
//创建并暴露一个路由器
export default new VueRouter({
routes:[
{
path:'/about',
component:About
},
{
path:'/home',
component:Home
}
]
})
3、配置路由器
main.js
//引入Vue
import Vue from 'vue'
//引入App组件
import App from './App.vue'
//引入路由插件
import VueRouter from 'vue-router'
//引入路由器
import router from './router'
//关闭Vue的生产提示
Vue.config.productionTip = false;
//应用插件
Vue.use(VueRouter);
//创建vm,整个项目就这1个vm,其他的都是vc组件
new Vue({
el:"#app",
render: h => h(App),
router:router
});
4、组件中使用
Vue
中借助router-link
标签实现路由的切换
<router-link class="list-group-item" active-class="active" to="/about">About</router-link>
<router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
指定组件的呈现位置
<router-view></router-view>
经过以上配置
在页面上点击About
页签,那么,在router-view
处就会展示对应About
组件
在页面上点击Home
页签,那么,在router-view
处就会展示对应Home
组件
这就是vue-router
的一个简单的基本使用案例
三、几个注意点
- 路由组件通常存放在
pages
文件夹,一般组件通常存放在components
文件夹。 - 通过切换,
“隐藏”
了的路由组件,默认是被销毁掉的,需要的时候再去挂载。 - 每个组件都有自己的
$route
属性,里面存储着自己的路由信息。 - 整个应用只有一个
router
,可以通过组件的$router
属性获取到。