router官网-嵌套路由
实际生活中的应用界面,通常由多层嵌套的组件组合而成。同样地,URL 中各段动态路径也按某种结构对应嵌套的各层组件,例如:
 
<body>
    <div id="app">
        <h1>欢迎使用路由导航</h1>
        <router-link to="/login">登陆组件</router-link>
        <router-link to="/main">主页组件</router-link>
        <router-view></router-view>
    </div>
    <template id="main">
        <div>
            <h2>主页组件中的导航菜单</h2>
            <p>
                <router-link to="/main/user">用户组件</router-link>
                <router-link to="/main/emp">员工组件</router-link>
                <router-link to="/main/dept">部门组件</router-link>
                <router-link to="/main/wel">欢迎页</router-link>
            </p>
            <!--嵌套路由出口-->
            <router-view></router-view>
        </div>
    </template>
<script>
    var main = {template: '#main'}
    var login = {template: '<div><h1>登陆界面</h1></div>'}
    var user = {template: '<div><h1>用户界面</h1></div>'}
    var emp = {template: '<div><h1>员工界面</h1></div>'}
    var dept = {template: '<div><h1>部门界面</h1></div>'}
    var welcom = {template: '<div><h1>欢迎</h1></div>'}
    var router = new VueRouter({
        mode: 'history',
        routes: [
            {path: '/login', component: login},
            //父路由,顶级路由
            {
                path: '/main',
                name: 'main',
                //设置欢迎页:配置一个重定向,并且重定向路径为嵌套路由中的欢迎页路径即可
                redirect:{name:'wel'},
                component: main,
                //嵌套子路由列表
                children: [
                    /**
                     * 嵌套子路由对象
                     * 1.绝对路径:以斜杠开头,此路径就是子路径的真实路径
                     *           用户组件对应的路径:/user
                     * 2.相对路径:不以斜杠开头,此路径的真实路径=父路径+子路径
                     *           用户组件对应的路径:/main/user
                     *
                     */
                    {path:'user', name:'user', component: user},
                    {path:'emp', name:'emp', component: emp},
                    {path:'dept', name:'dept', component: dept},
                    {path:'wel', name:'wel', component: welcom}
                ]
            }
        ]
    })
    new Vue({
        el: '#app',
        //在Vue对象中注册路由对象
        router
    })
</script>
</body>
                


















