【JavaScript教程】vue如何实现兄弟组件之间跳转指定tab标签页详解

所需工具:

JavaScript

聪明的大脑

勤劳的双手

 

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等

 

介绍

兄弟组件之间如何跳转指定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>

 


 	<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%20%09export%20default%20%7B%0A%20%09%20%20%20%20%20data()%20%7B%0A%20%09%20%20%20%20%20return%20%7B%0A%20%09%20%20%20%20%20%20%20%20%20selTab%3A%200%2C%0A%20%09%20%20%20%20%20%7D%0A%20%09%20%20%20%20%20%7D%0A%20%09%20%0A%20%09%20%20%20%20%20mounted()%20%7B%0A%20%09%20%20%20%20%20%2F%2F...%0A%20%09%20%20%20%20%20let%20myTab%20%3D%20this.%24route.query.myTab%3B%0A%20%09%20%20%20%20%20this.selTab%20%3D%20myTab%3B%0A%20%09%20%20%20%20%20this.getList()%3B%20%2F%2F%E4%BD%A0%E8%87%AA%E5%B7%B1%E7%9A%84%20%E5%BD%93%E6%A0%87%E7%AD%BE%E4%B8%BA2%E6%97%B6%E7%9A%84%E8%8E%B7%E5%8F%96%E5%88%97%E8%A1%A8%E7%9A%84%E6%96%B9%E6%B3%95%0A%20%09%20%20%20%20%20%7D%0A%20%09%7D%0A%20%09%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />

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 class="name" @click="activateTab(1)" :class="{active:index==1}">Existed&amp;Copy
 	

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;
 	     }
 	     }
 	     })

标签

发表评论