兄弟组件之间如何跳转指定tab标签页
场景
vue.js实现tab页面的跳转
tab标签
tab标签对应的展示的内容
vue实例中对应的数据以及函数
兄弟组件之间如何跳转指定tab标签页 场景index跳转至list的第三个标签栏并刷新列表
// index
methods: {
...
go(){
this.$router.push({
name: 'list', //要跳转的路由name
query: {
myTab: 2
}
})
},
}
// list 页
<template>
<div>
<div v-show="selTab == 0"> 标签为0时显示的内容 </div>
<div v-show="selTab == 1"> 标签为1时显示的内容 </div>
<div v-show="selTab == 2"> 标签为2时显示的内容 </div>
</div>
</template>
<script>
export default {
data() {
return {
selTab: 0,
}
}
mounted() {
//...
let myTab = this.$route.query.myTab;
this.selTab = myTab;
this.getList(); //你自己的 当标签为2时的获取列表的方法
}
}
</script>
vue.js实现tab页面的跳转
在jQuery中,若想实现Tab页面的跳转,只需要将相应的class名,一般为active,加到对应的dom元素上,使其显示即可。
那么,如果我们选择使用vue.js,该如何实现Tab页的跳转呢?
思路与jQuery类似,即点击对应的Tab项时,使对应的class有效。因此,
(1) 要具备动态的class,如,:class="{active:index==x}"
(2) 要绑定点击事件及对应的函数,如,@click=activateTab(x)
(3) 当然你使用了变量index,自然要在vue实例中声明此变量。
tab标签<ul class="tab-header clear-float-ml">
<li class="name" @click="activateTab(0)" :class="{active:index==0}">New</li>
<li class="name" @click="activateTab(1)" :class="{active:index==1}">Existed&Copy</li>
</ul>
tab标签对应的展示的内容
<form class="tab-content new-tab" :class="{active:index==0}">
</form>
<div class="tab-content existed-tab active" :class="{active:index==1}">
</div>
vue实例中对应的数据以及函数
<!-- vue 实例-->
var vm=new Vue({
el:'#management',
data:{
index:0
},
methods:{
activateTab:function(index_chosen){
this.index=index_chosen;
}
}
})
以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。