vue路由就是 vue-router 是 vue 页面中用于代替 html中的 a 标签 跳转页面的,只不过这个页面不是Html 是vue页面。
看 "dependencies" 节点 中是不是有类似
"vue-router": "^3.2.0"
如果没有要加上后,重新在cmd中 : npm install
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
Vue.use(VueRouter)
const basicRoutes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: () => import( '../views/About.vue')
}
]
const routes = [...basicRoutes] ;
const router = new VueRouter({
routes
})
export default router
要求有 :
import router from './router'
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
同一层面
表示有两个路径 home , about 可以被点击,它们对应的页面 都会被显示到 class = 'show' 的div中,也就是会形成页面切换的效果。
{
path: '/about',
name: 'About',
component: () => import( '../views/About.vue')
}
path :路径 ,router-link to= 的路径
name:vue页面中名字
component: vue页面的具体位置,注意相对路径
{
path: '/ts8',
name: 'Test8',
component: () => import('../views/test8.vue'),
children:[
{
path: '/ts8/red',
name: 'Red',
component: () => import('../views/children/red.vue')
},
{
path: '/ts8/green',
name: 'Green',
component: () => import('../views/children/green.vue')
},
{
path: '/ts8/blue',
name: 'Blue',
component: () => import('../views/children/blue.vue')
}
]
}
我们就可以在子页面中切换 这3个页面了。
router 目录中的 index.js是必不可少的,但有的时候会有内容太多的问题需要拆分,这里讲下如何拆分。
写法如下:
const routes = [
{
path: '/ev1',
name: 'Ev1',
component: () => import('../views/el/ev1.vue')
},
{
path: '/ev2',
name: 'Ev2',
component: () => import('../views/el/ev2.vue')
},
{
path: '/ev3',
name: 'Ev3',
component: () => import('../views/el/ev3.vue')
}
]
export default routes ;
import EArr from './ev.js'
const routes = [...basicRoutes,...EArr] ;