经过前面几章的实战,咱们已经顺利的构建项目,而且从API接口获取到数据而且渲染出来了。制做更多的页面,更复杂的应用,就是各位本身根据本身的项目去调整的事情了。css
本章讲一下如何配置子路由,由于咱们的项目不可能只有一个页面,而是由众多页面构成的。vue
在第二节中,咱们新建了一个src/frame/subroute.vue的子页面。当时是留空放在那里的。这里,咱们给它填写上内容,代码以下:vue-router
<template> <div> <div class="main"> <ul> <li><router-link :to="{name:'userdefault'}">用户中心默认</router-link></li> <li><router-link :to="{name:'userinfo'}">用户中心详情</router-link></li> <li><router-link :to="{name:'userlast'}">用户中心设置</router-link></li> </ul> </div> <div> <router-view></router-view> </div> </div> </template> <script> export default { data() { return { } } } </script>
咱们在src/page文件夹下新建文件夹user,而后在里面新建三个文件index.vue,info.vue和set.vue。代码内容分别以下:app
index.vue代码:spa
<template> <div>user index page</div> </template>
info.vue代码:.net
<template> <div>user info page</div> </template>
set.vue代码:code
<template> <div>user set page</div> </template>
打开src/config/routes.js文件,这个文件就是配置全部路由的文件。首先,在顶部插入下面的代码,引用子路由文件component
// 引入子路由 import Frame from '../frame/subroute.vue'
routes.js完整代码:router
import Vue from 'vue' import Router from 'vue-router' // 引入子路由 import Frame from '../frame/subroute.vue' // 引用模板 import index from '../page/index.vue' import content from '../page/content.vue' // 引入子页面 import userIndex from '../page/user/index.vue' import userInfo from '../page/user/info.vue' import userSet from '../page/user/set.vue' Vue.use(Router) export default new Router({ routes: [ { path: '/', component: index }, { path: '/content', component: content }, { name:'user', path:'/user', component: Frame, children: [ {name:'default',path: '/user/',redirect: '/user/userdefault'}, {name:'userdefault',path: '/user/userdefault',component: userIndex}, {name:'userinfo',path: '/user/userinfo',component: userInfo}, {name:'userlast',path: '/user/userlast',component: userSet} ], }, ] })
同时在App.vue中添加一个用户中心入口,总体代码:blog
<template> <div id="app"> <div class="nav-list"> <router-link class="nav-item" to="/">首页</router-link> <router-link class="nav-item" to="/content">内容页</router-link> <router-link class="nav-item" to="/user">用户中心</router-link> </div> <router-view></router-view> </div> </template> <script> export default { name: 'app' } </script> <style lang="scss"> @import "./style/style"; </style>
咱们进入用户中心默认页如图所示:
若是点击用户中心详情,就进入如图所示: