vue实现兄弟组件之间跳转指定tab标签页
作者:婷叽
这篇文章主要介绍了vue实现兄弟组件之间跳转指定tab标签页,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
兄弟组件之间如何跳转指定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; } } })
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。