路由多级嵌套信息丢失

当二级路由的信息是由一级路由使用query参数传递过来,同时三级路由的信息由二级路由传递过来,那么在点击二级路由切换三级路由时,会出现二级路由信息丢失,因为query的值在点击二级路由时被覆盖

const route = useRoute()
const { query } = toRefs(route)
</script>
<template>
    <div class="menuSecond">
        <div class="menuSecond-aside">
            <ul>
                <li v-for="index in query.secondMenu" :key="index">
                    <RouterLink :to="{
                        name: 'detail',
                        query: {
                            detail: 123
                        }
                    }">{{ index }}</RouterLink>
                </li>
            </ul>
        </div>

在点击切换路由的时候,query的值由原本包含二级路由信息的值,变为仅包含detail:123,
解决这个问题就是要在传递三级路由信息时,保存二级路由的信息

                        query: {
                            ...query,
                            detail: 123
                        }

即可

posted @ 2025-07-10 18:11  我就起个名字不至于吧  阅读(9)  评论(0)    收藏  举报