【发布时间】:2019-12-19 20:39:49
【问题描述】:
是否可以根据我当前所在的路线存储<v-tab> 组件的不同状态?我基本上想要实现的是,有一个像下面的代码这样的单个组件,我在几个不同的路线中使用它,但是让它记住我当前所在的选项卡,具体取决于路线。
<v-layout justify-space-around row>
<v-tab v-for="tab in navbarTabs" :key="tab.id">{{ tab.name }}</v-tab>
</v-layout>
data() {
return {
navbarTabs: [
{
id: 0,
name: "Home"
},
{
id: 1,
name: "Schedule"
},
{
id: 2,
name: "Tech card"
},
{
id: 3,
name: "Specifications"
},
{
id: 4,
name: "Control card"
},
{
id: 5,
name: "Packing"
}
]
}
}
我之前设法通过拥有一些相同的<v-tab> 组件来实现预期的结果,这些组件是我根据当前路线使用v-if 有条件地可视化的,但这种解决方案似乎有点粗糙,根本无法扩展。
有人可以给我一些关于如何实现这一目标的指示吗?提前致谢!
【问题讨论】:
-
我之前使用过
keep-alive,而我有 4 个<v-tab>实例,我根据路由有条件地将它们呈现为“动态”组件,但对于单个组件,它似乎不起作用。 -
不确定我是否理解:您是否需要根据路线打开某个选项卡?例如,如果路由是
/tabs/1,那么 ID 为 1 的选项卡应该是打开的? -
@DelenaMalan 是的,我想要实现的是:当我在
route1时,我转到 id 为 3 的选项卡,例如,如果我在route2并且我转到 id 为 2 的标签,route1的标签仍然是 id 3。PS对不起我的英语不好。 -
好的。你在使用 Vue 路由器吗?
标签: vue.js vuex vuetify.js