Vue.js,jquery 實現tabe切換

table切換在各個網頁中常常用到,日常用jQuery比較容易實現,使用jQuery中的siblings選擇其他同胞元素,爲了加深記憶順便把jQuery的代碼貼一下。javascript

<div id="tit">
        <span class="select">標題1</span>
        <span>標題2</span>
        <span>標題3</span>
    </div>
    <ul id="con">
        <li class="show">內容111</li>
        <li>內容222</li>
        <li>內容333</li>
    </ul>
$('#tit span').click(function() {
            var i = $(this).index();//下標第一種寫法
            //var i = $('tit').index(this);//下標第二種寫法
            $(this).addClass('select').siblings().removeClass('select');
            $('#con li').eq(i).show().siblings().hide();
        });

上面的代碼我是百度來的,實現方法也比較多,做爲一個前端小白剛開始使用vue寫感受好難過,你們不要嫌棄我蠢html

<h4 ref="all" @click="all">所有</h4>
<h4 ref="product" @click="product">商品</h4>
<h4 ref="news" @click="news">新聞</h4>

我用vue直接來操做DOM雖然能夠實現,但我本身都以爲有些蠢,而後我百度了一下,果真大神就是給力,前端

<div id="app">
    <div>
        <button v-for="(ind,key,index) in btn" v-bind:class="{active:(indexs==index)}"
         v-on:click="a(index)">{{ind}}</button>
         //這段代碼經過indexs==index的值來判斷active類,經過a方法來決定indexs 的值 反正以個人水平是寫不出來的
    </div>
    <div class="wrap">
        <div v-for="(w,key,index) in box" v-if="indexs == index">{{w}}</div>
    </div>
</div>
<script type="text/javascript">
  var app = new Vue({
    el:"#app",
    data:{
        btn:{a:"按鈕1",b:"按鈕2",c:"按鈕3"},
        box:{aa:"tab切換1",bb:"tab切換2",cc:"tab切換3"},
        indexs:0,
        a:function(str){
            this.indexs=str;
        }
    }
    })
</script>
.wrap div{
        width: 300px;
        height: 300px;
        background-color: #0cc;
    }
.active{
    background-color: red
}

上面代碼來自池劍鋒使用vue實現tab切換例子vue

他的代碼中內容部分來自box中的數據,爲了讓內容部分更加靈活,我又想到了一個比較笨的方法java

<div class="wrap">
     <div  v-if="indexs == 0">fhgfdshdf</div>
     <div  v-if="indexs == 1">sdfsdfsfsfsdfdsfffffffff</div>
     <div  v-if="indexs == 2">dsfdfgdfgdfgdfAAAAAAAAAAAA</div>
 </div>

這樣就能夠直接在內容部分隨意編輯了,不知道各位大神還有沒有更好的方法歡迎你們指教
本文旨在本身概括學習,寫的很差請你們見諒web

相關文章
相關標籤/搜索