Vue06 -- v-bind绑定class的几种方式

<!DOCTYPE html>
<html>
<head>
    <title>Vue --- v-bind绑定class的几种方式</title>
</head>
<body>
    <div id="app1">
        <div class="static" :class="{'active':IsActive,'color':IsColor}">第一种方式</div>
    </div>

    <div id="app2">
        <div :class="[{'active':IsActive},IsColor]">第二种方式</div>
    </div>

    <div id="app3">
        <div :class="[IsActive ? activecls:'',IsColor]">第三种方式</div>
    </div>

    <div id="app4">
        <div :class="classes">第四种方式</div>
    </div>
    <script type="text/javascript" src="https://unpkg.com/vue/dist/vue.min.js"></script>
    <script type="text/javascript">
        // 第一种方式
        var app1 = new Vue({
            el:'#app1',
            data:{
                IsActive:false,
                IsColor:true
            }
        })

        // 第二种方式
        var app2 = new Vue({
            el:'#app2',
            data:{
                IsActive:false,
                IsColor:'color'
            }
        })

        // 第三种方式 三元表达式
        var app3 = new Vue({
            el:'#app3',
            data:{
                IsActive:true,
                activecls:'active',
                IsColor:'color'
            }
        })

        // 第四种方式
        var app4 = new Vue({
            el:'#app4',
            data:{
                size:'small',
                disable:true
            },
            computed:{
                classes:function () {
                    return [
                        'btn',
                        {
                            ['btn-'+ this.size]:this.size !== '',
                            ['btn-disable']:this.disable
                        }
                    ]
                }
            }
        })
        
    </script>
</body>
</html>
原文地址:https://www.cnblogs.com/lee-xingxing/p/11103809.html