Vue中的嵌套路由

文章详细介绍了如何在Vue项目中使用VueRouter进行嵌套路由的配置,包括顶级路由、子路由的定义,以及使用`router-link`和`router-view`组件进行页面导航和展示。通过创建不同组件如登录、主页、用户、员工和部门组件,并设置重定向,展示了如何构建一个多层级的界面结构。
摘要由CSDN通过智能技术生成

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值