有没有办法在vue中设置route prop?
P粉919464207
P粉919464207 2024-04-06 11:35:59
0
1
402

我想导航到页面中的特定选项卡

this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, })

因此在页面内我可以获取参数并设置选项卡:

mounted() { const routeTab = this.$route.params.tab; if (routeTab) this.tab = routeTab; }

如果当前页面不是AdminNotifications,则有效。

但除此之外,还有一个错误:NavigationDuplicated:避免了到当前的冗余导航

那么...有没有办法只设置tab属性,而不需要导航?

谢谢

P粉919464207
P粉919464207

全部回复 (1)
P粉432930081

如果您已经到达某个路线,则无法导航至该路线。但是,既然您已经在那里,您只需将this.tab设置为所需的值即可:

if (this.$route.name === 'AdminNotifications') { this.tab = 'requests'; } else { this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, }) }

如果负责导航的组件与包含tab的组件不同,您可以将tab参数推送到$route

if (this.$route.name === 'AdminNotifications') { this.$router.replace({ params: { tab: "requests" } }); } else { this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, }) }

在页面组件中,将mounted中的“watcher”替换为适当的监视程序,该监视程序将tab动态设置为$route.params.tab的任何真值:

watch: { '$route.params.tab': { handler(val) { if (val) { this.tab = val; } }, immediate: true } }
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!