vue解决二级路由redirect(默认路由)不传参的问题

Posted wd163

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue解决二级路由redirect(默认路由)不传参的问题相关的知识,希望对你有一定的参考价值。

场景:

pageA----pageB(pageB包含三个二级路由)       

默认进入pageB时进入第一个页面的路由,之后点击左侧按钮,分别进入其他二级路由

原router.js写法:

//应用信息
    {
        path:‘/app-manage‘,
        name:‘app-manage‘,
        component:AppManage,
        redirect:‘/app-manage/appMsg‘,
        children:[
            //应用信息
            {
                path:‘/app-manage/appMsg‘,
                name:‘appMsg‘,
                component:AppMsg,
            },
            ...其他子路由...
        ]
    },
页面路由跳转写法:
<router-link class="lis" tag="li" v-for="(item,index) in side" :to="{path:item.url,query:{appMsg}}" :key="index">
       {{item.name}}
</router-link>
问题,一次进入默认路由时,不传递参数,只有在之后的点击第一个路由时才传递
解决方法:
1.去除router.js的redirect属性
2.在pageB页面第一次页面加载请求到数据后添加
let appMsg = this.appMsg
 this.$router.push({path:‘/app-manage/appMsg‘,query:{appMsg}})

以上是关于vue解决二级路由redirect(默认路由)不传参的问题的主要内容,如果未能解决你的问题,请参考以下文章

vue父路由默认选中第一个子路由,切换子路由让父路由高亮不会消失

vue 路由

vue+element 进入不同路由页面(二级页面),让相应的左侧菜单

vue路由(一、二级路由)

Vue-cli-4-路由配置文件,路由进阶,二级路由

实现接口参数为空时不传参,刷新页面时参数重置问题