美文网首页
4.v-bind以及class与style的绑定

4.v-bind以及class与style的绑定

作者: sweetBoy_9126 | 来源:发表于2018-10-14 16:02 被阅读2次

4.1.绑定class 的几种方式

4.1.1.对象语法

绑定class对象语法:对象的键是类名,值是布尔值

.active{
    color: red;
}
.bor{
    border: 1px solid #ccc;
}
<div :class="{active:isActive,bor: isBorder}">aaa</div>
data: {
    isActive: true,
    isBorder: false
}

当 class 的表达式过长或逻辑复杂时,还可以绑定一个计算属性,这是一种很友好和常见的用法,一般当条件多于两个时, 都可以使用 data 或 computed

.active{
    color: red;
}
</style>
<div id="app">
    <div :class="isActive">zzzz</div>
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            isBlue: true,
            isRed: false
        },
        computed: {
            isActive(){
                return {
                    //只要是class里面的键都是类名
                    active: this.isBlue && !this.isRed
                }
            }
        }
}
</script>

4.1.2.数组语法

当需要应用多个 class 时,可以使用数组语法,给:class 绑定一个数组,应用一个class列表:数组中每个成员都是class的类名

.active{
    color: red;
}
.current{
    font-size: 18px;
}
<div :class="[one,two]">aaa</div>
data: {
    one: 'active',
    two: 'current'
}

对象和数组混用:

<div :class="[{active:isActive},two]">aaa</div>
data: {
    isActive: true,
    two: 'current'
}

4.2.绑定内联样式

<div :style="{color:color,fontSize:fontSize}">aaa</div>
<!--等价于-->
<div style="color: red;font-size: 16px"></div>
data: {
    color: 'red',
    fontSize: '16px'
}

绑定内联样式:键代表style的属性值,值就代表属性对应的值

注意:vue中只要是大写字母,都会给你转换成-加小写
如:fontSize -----> font-size
dsfASDghG -----> dsf-a-s-dgh-g
所以在vue中不要使用中环线(‘-’)要用驼峰式代替

相关文章

网友评论

      本文标题:4.v-bind以及class与style的绑定

      本文链接:https://www.haomeiwen.com/subject/blzzaftx.html