先来介绍下什么是单页面应用(SPA)
1. 引入路由功能
script引入
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
在模块化中
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
2. 创建VueRouter实例
const User = {
template: '<div>User</div>'
}
const router = new VueRouter({
routes: [
// 动态路径参数 以冒号开头, name非必传参数
{ path: '/user/:id', name:'user', component: User }
]
})
创建路由连接方式
1. 使用router-link
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
2. 使用router.push()
router.push({ name: 'user', params: { userId: 123 }})
命令式书写,在vue实例内部使用this.$router.push
// 字符串
router.push('home')
// 对象
router.push({ path: 'home' })
// 命名的路由 /user/123
router.push({ name: 'user', params: { userId: '123' }})
// 带查询参数,变成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }}
百说不如一练,建议大家看看官方vue-router的demo学学就好了