vue 实现多个tab切换显隐

实现效果如上图:实现tab切换显隐

 1 <template>
 2   <div id="app">
 3     <ul>
 4       <li v-for="(tab,index) in tabs" @click="toggle(index,tab.view)" :class="{active:active==index}">
 5         {{tab.type}}
 6       </li>
 7     </ul>
 8     <!--:is实现多个组件实现同一个挂载点-->
 9     <component :is="currentView"></component>
10   </div>
11 </template>
12
13 <script>
14   import tab1 from ‘./components/tabs/tab1.vue‘
15   import tab2 from ‘./components/tabs/tab2.vue‘
16   export default {
17     name: ‘app‘,
18     data(){
19       return {
20         active:0,
21         currentView:‘tab1‘,
22         tabs:[
23           {
24             type:‘tab1‘,
25             view:‘tab1‘
26           },
27           {
28             type:‘tab2‘,
29             view:‘tab2‘
30           }
31         ]
32       }
33     },
34     methods:{
35       toggle(i,v){
36         this.active=i;
37         this.currentView=v;
38       }
39     },
40     components:{
41       tab1,
42       tab2
43     }
44   }
45 </script>
46
47 <style>
48   #app {
49     font-family: ‘Avenir‘, Helvetica, Arial, sans-serif;
50     -webkit-font-smoothing: antialiased;
51     -moz-osx-font-smoothing: grayscale;
52     /* text-align: center;
53     color: #2c3e50;
54     margin-top: 60px; */
55   }
56   ul{
57     width:200px;
58     display:flex;
59   }
60   ul li{
61     width:100px;
62     height:40px;
63     background: #ccc;
64     display: inline-flex;
65     border-right:1px solid #ddd;
66     justify-content: center;
67     align-items: center;
68     cursor:pointer
69   }
70   ul li.active{
71     background:#333;
72   }
73 </style>

原文地址:https://www.cnblogs.com/FangGeQue/p/12012732.html

时间: 2024-07-31 20:30:43

vue 实现多个tab切换显隐的相关文章

js切换显隐

方法一: function fun() { var flag = $(".pic_radio").css("display");             if (flag == "none") {                $(".pic_radio").css("display", "block");            }             else {         

【vue】动态控制表格列的显隐(element-ui)

1 <template> 2 3 <div class="app-container"> 4 <el-table :data="tableData" stripe border style="width: 98%" ref="tableDataRef"> 5 <el-table-column type="selection" width="55"

Vue框架tab切换高亮最简易方法

以往我们实现tab切换高亮通常是循环遍历先把所有的字体颜色改变为默认样式,再点亮当前点击的选项,而我们在vue框架中实现tab切换高亮显示并不需要如此,只需要将当前点击选项的index传入给一个变量,再将这个变量和当前index匹配,若true则显示高亮,否则默认样式,代码如下: 如需转载请注明出处:http://www.cnblogs.com/zishang91/p/7580204.html,以便有错误可以及时修改,若有错漏不足之处,请见谅并且指点,谢谢!!!

vue + element-ui 制作tab切换(切换vue组件,踩坑总结)

本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用element-ui创建tab组件切换内容(需要了解的朋友点击链接查看) 2.创建相应文件. a.创建父组件 src/components/tabZujian.vue b.创建自组件(被切换的组件)src/tabComponents 文件夹 + + tabComponents(目录) ---- tabZuji

元素显隐切换过渡效果的实现

近来看到 饿了么 App和 h5站上,在商家详情页点餐之后,底部放置了一个点击之后能够弹出模态框查看点餐详情的元素,其中有个背景遮罩层的渐进显隐的效果. 凭着我少许的经验,第一时间的想法是觉得这个遮罩层应该是使用 display:none;来控制隐藏和显示的,但是这个属性会破坏 transition动画,也就是说如果遮罩层是使用了这个属性来控制显示与隐藏,那么渐进显隐的效果似乎很难达到,效果应该是瞬间显示与隐藏才对. 使用 Chrome 模拟移动端,查看了一下 饿了么的实现方式,这才想到 饿了么

vue -vantUI tab切换时 list组件不触发load事件解决办法

最近由于公司项目需要,用vue写了几个简单的页面.用到了vantUI List 列表 瀑布流滚动加载,用于控制长列表的展示 当列表即将滚动到底部时,会触发事件并加载更多列表项. 看上去一切都很美好:但是tab进行切换的时候,list组件的load事件不会再次被触发!!!就是list组件做上拉加载只有在第一个tab会触发,切换后触底不会再次触发 解决办法: 初始化定义了list的加载状态 tab切换时:重新初始化一次就行了 这样就解决了tab切换list组件不能再次被触发的问题 原文地址:http

Vue.js实现tab切换效果

利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思路是点击上方的标题,下方的内容随之发生改变,上方和下方用的是两个块,是兄弟节点,所以需要点击tab标题和下方内容一一对应,基予两个模块若下标相同是一个内容实现的. 1.3 tab切换第一步先要把HTML写好,这个第一步很关键,主要分为两块结构 <div id="app"> &l

vue初级页面 tab切换 表格动态绑定 v-for(item,index) in datas.system :value=&#39;item.values&#39;

<?php /** * Created by PhpStorm. * User: 信息部 * Date: 2017/10/26 * Time: 13:10 */ use PSI\assets\VueAsset; VueAsset::register($this); $this->title='角色添加'; ?> <style> .labels{ vertical-align:middle; margin:0; display:inline-block; height:100%

VUE 路由组件左右滑动切换(移动端)

<template> <div id="headed"> <ul class="tab"> <li> <!-- @click="jump(index) index: 切换颜色 代表切换的路由文件 :class="{'active_color': index==0} 当index等于0的时候显示第一个,index:1 切换排球 --> <div class="body_bo