1:安装
npm install vue-router
2:引用(main.js)
/*1: 引入vueRouter官方插件(路由),并使用*/
import VueRouter from 'vue-router'
Vue.use(VueRouter)
/*2: 定义路由 */
/*3: 实例化VueRouter */
var router = new VueRouter({
routes: [{
path: '*',
redirect: '/mine' // 当没有写跳转页面时,默认跳转路由
},
{
path: '/mine',
component: Mine
},
{
path: '/home',
component: Home
}
]
})
/*4: 挂载 new Vue({ router })*/
/*5: 配置 根组件<router-view></router-view> */
3:方式
(1) 动态路由+路由传值
1:配置路径参数,以冒号开头 path: '/news/:aid',
2:页面A发送数据 <router-link :to="'/news/'+item">
页面B接收数据 this.$route.params
(2)路由+get传值
1:配置路径参数 path: '/content',
2:页面A发送数据 <router-link :to="'/content?item=' + item">
页面B接收数据 this.$route.query
(3)编程式路由导航
<button @click="goNews()">跳转新闻</button>
{
path: '/home',
component: Home,
name:"home"//命名路由(编程式路由使用)
},
// 1-- 字符串路由
// this.$router.push('home');
// 2--对象路由
this.$router.push({ path: "/home" }); //注意这个路径的写法和main.js一致 动态路由也是(帶值)
// 3--命名路由(需要在main.js的路由位置配置名字name )
// this.$router.push({name:'home', params:{us erId: '123'}});
// this.$router.push({path:'home', query:{plan:private}});// /register?plan=private
// this.$router.back();//后退一步
// this.$router.forward();//前进一步
// this.$router.go(0)正前 负退 0刷新
(4)路由嵌套
1:在mian.js配置子路由路径
2:在父路由中引入子路由
(5)路由模块化
1;新建文件夹router 新建router.js
2:import Vue from 'vue'
3:配置路由(引入router-配置路径-实例化等如上)
4:export default router;
5:在main.js中引入这个router.js
示例: