问题: 需要点击导航两次才能跳转到对应页面,但是路径已经变化了,需要刷新一下。
<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
const activeName = ref(route.name)
watch(route, (newRoute) => {
activeName.value = newRoute.name
})
</script>
<template>
<van-tabs class="tabs" v-model:active="activeName" sticky>
<van-tab title="关注" name="attent" replace to="/home/attent" />
<van-tab title="发现" name="found" replace to="/home/found" />
<van-tab title="二手" name="second" replace to="/home/second" />
</van-tabs>
</template>
- 要在van-tab中进行路由跳转时,name一定要正确写入所要跳转的路由页面的名字,无论是几级路由,只需写最后的名字。
- 并且activeName一定要初始化好当前路由的名字,否则在一进页面时要点击两次才能跳转。
- 加上监听及时更新激活信息