vue2.0逻辑思维选项卡。

Hello,选项卡?很简单嘛!那项目中所有数据都是‘活’的,而不是一个静态页面怎么通过vue写出vue中的选项卡呢?

页面部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="vue.js"></script>
    <style type="text/css">
        ul{
            position: relative;
        }
        ul li{
            list-style: none;
            width: 100px;
            height: 200px;
            background: pink;
            position: absolute;
            display: none;
        }
        ol li{
            float: left;
            padding: 10px 15px;
            background: blue;
            margin-left: 15px;
            list-style: none;
            cursor: pointer;
            margin-left: 200px;
        }
        .active{
            display: block;
        }
    </style>
</head>
<body>
    <div id="box">
        <ul>
            <li v-for='(msg,index) in msgs' :class='{active:active == index}'>{{msg}}</li>
        </ul>
        <ol>
            <li v-for='(a,index) in as' @click='add(index)'>{{a}}</li>
        </ol>
    </div>
</body>
</html>

简单看一下布局! 我们的内容,跟标题的选项都是动态的,都可以通过后台请求数据得来,灵活!!!。

JS部分:

<script type="text/javascript">
        new Vue({
            el:'#box',
            data:{
                msgs:['我是内容一','我是内容二','我是内容三'],
                as:['选项卡一','选项卡二','选项卡三'],
                active:'0'
            },
            methods:{
                add(index){
                    this.active = index;
                }
            }
        })

</script>

解释一下里面的逻辑:

    v-for循环我就不解释了,相信大家比我理解的深。
    我们看一下    :class='{**active**:*active* == index}' 
    绑定class  为   **active**  我们这个加粗的active在我们的css中写到。display:block。
    而 斜体的 active 是我们vue对象中的  active : 0  我们在类里面添加了一个判断  如果 active  ==  index  我们就让当前的 li(内容) 显现出来  剩下最后一步,点击每一个按钮时对应内容出现 也就说 下标相同即可。  
add(index){
    this.active = index  
}

index 是vue中自带的 下标获取的 (仅限于v-for循环中)

配一张逻辑图:
这里写图片描述

我是杨小宝!跟大家一起学习 Vue2.X 的世界吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值