【发布时间】:2019-07-31 04:01:09
【问题描述】:
我有这样的标签...
<v-tabs v-model="tab" v-on:change="tabbed()" fixed-tabs>
<v-tab ripple>Tab A</v-tab>
<v-tab ripple>Tab B</v-tab>
<v-tab ripple>Tab C</v-tab>
// tab items, etc
我想要 URL 路径来确定选项卡,并且我想要一个选项卡更改来更改路径。我无法使用路径执行此操作(因为我是新手),但我认为我可以通过查询来近似我想要的内容,例如 /mypath?tab=2
data: () => ({
tab: null
}),
methods: {
tabbed () {
console.log(`we tabbed, now tab is ${this.tab} and route is ${JSON.stringify(this.$route.path)}`)
this.$router.replace({ path: this.$route.path, query: { tab: this.tab } })
}
},
created () {
console.log(`tab is ${this.$route.query.tab}`)
this.tab = this.$route.query.tab
}
我认为这可以解决问题:在创建时,从查询中获取选项卡并设置选项卡模型。在选项卡更改时,从选项卡模型中获取选项卡并设置查询。但是,当我导航到 /mypath?tab=2 或任何选项卡时,我最终会进入第 0 个选项卡并获得如下控制台输出:
标签是 2
我们使用标签,现在标签为 0,路线为“/mypath”
关于安装的某些内容会将选项卡变回零??
我可以用路由来做这个吗,所以我可以去"/mypath/tab-a"
我至少可以通过查询来完成这项工作吗?看来我的代码是正确的,但我不明白为什么它不能工作
【问题讨论】:
标签: javascript vue.js vuetify.js