欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue属性绑定 ---Class 与 Style 绑定

程序员文章站 2022-05-15 18:18:37
...

先写style样式:

<style type="text/css">
    .red {
        color: red;
    }
    .fwThin {
        font-weight: 300;
    }
    .active {
        letter-spacing: 0.5em;
    }
    .italic {
        font-style: italic;
    }
</style>

Class绑定: 4种方法:

第1种 : (数组的形式 ): 直接传递一个数组, 注意: 这里的 class 需要使用 v-bind 做数据绑定
注:: :class 数组中的red和fwThin 是<style></style> 里边的.red 和 .fwThin

    <h1 :class="['red','fwThin']">v-bind绑定class样式</h1>

第2种 : 在数组中绑定三元表达式

    <h1 :class="['red','fwThin',flag?'active':'']">v-bind  在数组中绑定三元表达式</h1>

第3种 : 在数组中使用 对象 来代替 三元表达式, 提高代码的可读性

    <h1 :class="['red','fwThin',{'active':flag}]">v-bind  在数组中使用对象 来代替三元表达式</h1>

第4种 : class 使用 v-bind 绑定对象的时候 , 对象的属性名是类名 , 由于 对象的属性 可带引号 , 也可不带引号 , 所以这里 没带引号, 属性的值 : 是一个标识符

    <h1 :class="{red:true,fwThin:false,active:true,italic:true}">v-bind  在数组中使用对象 来代替三元表达式</h1>
    <!--也可以 定义到data中 , 然后引用到  :class里  如下:-->
    <h1 :class="classObj">v-bind  在数组中使用对象 来代替三元表达式</h1>    


    <!-- 上面四种方法对应的 js 看这里: -->
    <script type="text/javascript">
        var vm = new Vue({
            el: '#app',
            data: {
                flag:true,
                classObj:{red:true,fwThin:false,active:true,italic:true}
            },
            methods: {}
        })
    </script>

Style绑定: 3种方法:

第1种 : 直接在元素上通过 :style 的形式, 书写样式对象(对象就是无序键值对的集合)

    <h3 :style="{color:'red','font-weight':200}">属性绑定样式 ----style</h3>

第2种 : 将样式对象, 定义到data中 , 然后引用到 :style 里

    <h3 :style="styleObj">属性绑定样式 ----style,定义到data里面了</h3>

第3种 : 在 :style 中通过数组 , 引用多个data上的样式对象

    <h3 :style="[styleObj, styleObj2]">属性绑定样式 ----style, 通过多个数组定义</h3>

     <script type="text/javascript">
        var vm = new Vue({
            el: '#app',
            data: {
                styleObj:{color:'red','font-weight':200},
                styleObj2:{'font-style':'italic'}
            },
            methods: {}
        })
    </script>

转载于:https://www.jianshu.com/p/b8c521b87ca2