我在一个页面上设置了多个路由,但我只想验证一个路由,我使用以下代码:第一个我只想验证“'institute_details/' +座位号“。
5kgi1eie1#
首先,可以在路由语法中使用regex / dynamic模式来匹配相关地址,这应该可以覆盖大多数用例。在这个简单的示例中,您可以恢复this.$route.params.location中组件内的参数。
this.$route.params.location
new VueRouter({ routes: [ { path: 'institute_details/:location', component: somePage } ] })
有关它的更多详细信息(如高级正则表达式使用),请参见:https://router.vuejs.org/guide/essentials/dynamic-matching.html另外,正如你所做的,你可以使用导航保护,无论是全局的还是组件级的,来做一些更花哨的测试,如果你不喜欢它,就拒绝它。
beforeRouteEnter (to, from, next) { if (to.params.location === 'you-shall-not-pass') { next(false); } else { next(); } }
请参阅:https://router.vuejs.org/guide/advanced/navigation-guards.html
1条答案
按热度按时间5kgi1eie1#
首先,可以在路由语法中使用regex / dynamic模式来匹配相关地址,这应该可以覆盖大多数用例。
在这个简单的示例中,您可以恢复
this.$route.params.location
中组件内的参数。有关它的更多详细信息(如高级正则表达式使用),请参见:https://router.vuejs.org/guide/essentials/dynamic-matching.html
另外,正如你所做的,你可以使用导航保护,无论是全局的还是组件级的,来做一些更花哨的测试,如果你不喜欢它,就拒绝它。
请参阅:https://router.vuejs.org/guide/advanced/navigation-guards.html