Maison > Questions et réponses > le corps du texte
Je souhaite accéder à un onglet spécifique de la page
this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, })
Ainsi, dans la page, je peux obtenir les paramètres et définir l'onglet :
mounted() { const routeTab = this.$route.params.tab; if (routeTab) this.tab = routeTab; }
Valide si la page actuelle ne l'est pas AdminNotifications
.
Mais en plus, il y a une erreur :
NavigationDuplicated:避免了到当前
Navigation redondante
Alors... existe-t-il un moyen de simplement définir l'attribut tab
sans navigation ?
Merci
P粉4329300812024-04-07 09:29:13
Si vous avez déjà atteint un itinéraire, vous ne pouvez pas y accéder. Mais maintenant que vous y êtes déjà, vous pouvez simplement régler this.tab
sur la valeur souhaitée :
if (this.$route.name === 'AdminNotifications') { this.tab = 'requests'; } else { this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, }) }
Si le composant responsable de la navigation contient tab
的组件不同,您可以将 tab
参数推送到 $route
:
if (this.$route.name === 'AdminNotifications') { this.$router.replace({ params: { tab: "requests" } }); } else { this.$router.push({ name: "AdminNotifications", params: { tab: "requests" }, }) }
Dans le composant page, toute valeur vraie de mounted
中的“watcher”替换为适当的监视程序,该监视程序将 tab
动态设置为 $route.params.tab
:
watch: { '$route.params.tab': { handler(val) { if (val) { this.tab = val; } }, immediate: true } }