根据路由前缀渲染数据
Rendering data based on route prefix
VueRouter 有没有办法确定路由前缀...
例如,我有一个导航组件,仅当路线以
开头时,我想在该组件上呈现一些与用户相关的链接
/user-settings/
例如
/user-settings/payment
/user-settings/profile
如果用户设置前缀不在路线上,它将呈现标准导航链接。我知道我必须在导航组件上使用 v-if 和 v-else,但不确定如何确定路由是否具有用户设置前缀。
当然,这可能完全是错误的处理方式,所以完全接受建议!
我会使用计算的 属性 来告诉我当前路线的路径是否包含 "user-settings",以便在我看来与 v-if="is_user_settings"
.
一起使用
computed: {
is_user_settings() {
return this.$route.path.includes('/user-settings/')
}
}
如果你想要更干净的东西,你也可以利用 $route 对象的 "matched" property。
您可以使用正则表达式来测试路径名。
(/^\/user-settings/i).test(this.$route.path);
VueRouter 有没有办法确定路由前缀...
例如,我有一个导航组件,仅当路线以
开头时,我想在该组件上呈现一些与用户相关的链接/user-settings/
例如
/user-settings/payment /user-settings/profile
如果用户设置前缀不在路线上,它将呈现标准导航链接。我知道我必须在导航组件上使用 v-if 和 v-else,但不确定如何确定路由是否具有用户设置前缀。
当然,这可能完全是错误的处理方式,所以完全接受建议!
我会使用计算的 属性 来告诉我当前路线的路径是否包含 "user-settings",以便在我看来与 v-if="is_user_settings"
.
computed: {
is_user_settings() {
return this.$route.path.includes('/user-settings/')
}
}
如果你想要更干净的东西,你也可以利用 $route 对象的 "matched" property。
您可以使用正则表达式来测试路径名。
(/^\/user-settings/i).test(this.$route.path);