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 pasAdminNotifications.
Mais en plus, il y a une erreur :NavigationDuplicated:避免了到当前Navigation redondante
Alors... existe-t-il un moyen de simplement définir l'attributtabsans navigation ?
Merci
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.tabsur 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 } }