网页层次:
如:
登录页 /login
首页架子 /
首页 - 二级 /home
分类页 - 二级 /category
购物车 - 二级 /cart
我的 - 二级 /user
搜索页 /search
搜索列表页 /searchlist
一级路由
router/index.js
配置一级路由,新建对应的页面文件
1. 先安装 `npm install vue-router`
2. 导入,通过Vue.use()明确的安装路由功能
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
3. 配置路由信息
import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/views/layout'
import Search from '@/views/search'
import SearchList from '@/views/search/list'
...
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{
path: '/login',
component: Login
},
{
path: '/',
component: Layout
},
{
path: '/search',
component: Search
},
{
path: '/searchlist',
component: SearchList
}
...
]
})
export default router
一级路由出口:一级组件展示的位置 (位置相同,展示的组件不同)
App.vue
<template>
<div id="app">
<router-view/>
</div>
</template>
二级路由
在VueRouter的参数中使用children配置:
1. router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/views/layout'
//...
import Home from '@/views/layout/home'
import Category from '@/views/layout/category'
import Cart from '@/views/layout/cart'
import User from '@/views/layout/user'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{
path: '/login',
component: Login
},
{
path: '/',
component: Layout,
redirect: '/home', /*重定向*/
children: [
{
path: 'home',
component: Home
},
{
path: 'category',
component: Category
},
{
path: 'cart',
component: Cart
},
{
path: 'user',
component: User
}
]
},
{
path: '/search',
component: Search
}
...
]
})
export default router
2. 设置路由出口
此处结合了vant组件库中的Tabber标签栏使用 to=""
<template>
<div>
<!-- 二级路由出口 -->
<router-view></router-view>
<van-tabbar route active-color="#ee0a24" inactive-color="#000">
<van-tabbar-item to="/home" icon="wap-home-o">首页</van-tabbar-item>
<van-tabbar-item to="/category" icon="apps-o">分类页</van-tabbar-item>
<van-tabbar-item to="/cart" icon="shopping-cart-o">购物车</van-tabbar-item>
<van-tabbar-item to="/user" icon="user-o">我的</van-tabbar-item>
</van-tabbar>
</div>
</template>