zoukankan      html  css  js  c++  java
  • vue Tab切换

    <template>
      <div id="app">
        <!-- tab切换1 -->
        <button  @click="comName = 'setLogin'">周六</button>
        <button @click="comName = 'login'">周天</button>
        <component :is="comName"></component>
    
    
        <!-- tab切换2 -->
        <div id="nav">
          <ul>
          <li v-for="(tab,index) in tabs" @click="toggle(index,tab.view)" :class="{active:active==index}">
            {{tab.type}}
          </li>
        </ul>
        </div>
        <component :is="currentView"></component>
    
    
        <!-- tab切换3 -->
        <div id="content">
            <!-- 一种方法展示第一个 -->
            <div id="nav">
                <ul>
                <li v-for="(item,index) in tabss" @click="tab(index)">{{item}}</li>
                </ul>
            </div>
            <div id="main">
                <main v-for="(cont,id) in mainContent" v-show="id==num">{{cont}}</main>
            </div>
            <!-- 一种方法展示第二个 -->
            <div id="nav">
                <ul>
                <li v-for="(item,index) in tabss" @click="tabsss(index)">{{item}}</li>
                </ul>
            </div>
            <div id="main">
                <main v-for="(cont,id) in mainContent" v-show="id==nums">{{cont}}</main>
            </div>
        </div>
      </div>
    </template>
    
    <script>
    // tab切换1/tab切换2
    import setLogin from './setLogin.vue'
    import login from './login.vue'
    export default {
      name: 'app',
      data(){
        return {
          // tab切换1
          comName: 'setLogin',
          tabs:[
            {
              type:'Tab1',
              view:'setLogin'
            },
            {
              type:'Tab2',
              view:'login'
            }
          ],
    
          // tab切换2
          currentView:'setLogin',
          active:0,
    
          // tab切换3
          tabss: ["星期一", "星期二", "星期三", "星期四", "星期五"],
          mainContent: ["上班第一天", "上班第二天", "上班第三天", "上班第四天","上班第五天"],
          num:1,
          nums:2,
        }
      },
      methods:{
        //tab切换2
        toggle(i,v){
          this.active=i;
          this.currentView=v;
        },
    
        // tab切换3
        tab(index){
          this.num=index;
        },
        tabsss(index){
          this.nums=index;
        },
      },
      // tab切换1/tab切换2
      components:{
        setLogin,
        login
      }
    }
    </script>
    
    <style>
    
    /* tab切换1*/
    button{
       100px;
      line-height: 40px;
      border: 0;
      outline: none;
    }
    
    
    /* tab切换2/tab切换3*/
    ul li{
      display: inline;
    }
    
    #nav ul {
      display: flex;
    }
    
    #nav ul  li{
       100px;
      text-align: center;
      line-height: 40px;
    }
    
    #nav ul  li:hover{
      color: red;
      background: black;
    }
    
    #main{
       100px;
      text-align: center;
      padding:10px 0px;
      box-sizing: border-box;
    }
    </style>
  • 相关阅读:
    点击文本变成输入框
    html代码片段
    node 开启Gzip压缩
    npm 安装与卸载
    console.dir()-----js中console.log()和console.dir()的区别
    javaScript学习笔记之-------this
    javaScript学习笔记之-------闭包
    从零搭建vue项目---VUE从无到有
    require.js扫盲版
    cross-env 解决跨平台设置的NODE_ENV的问题
  • 原文地址:https://www.cnblogs.com/minghan/p/14252694.html
Copyright © 2011-2022 走看看