v-bind以及class与style的绑定

148 阅读1分钟

v-bind 动态绑定

v-bind:class 可以动态的切换class---值对应的是 true 和false

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

// 对象方法
<div v-bind:class="{key:name}"></div>

data:{
    name: true
}

<style>
    .key{
        color: red;
    }
</style>

数组方法:当有多个class时,还可以使用数组语法,给class绑定一个数组,应用一个列表,数组成员直接对应className:类名

// 数组方法
<div :class="[name1,name2]"></div>
new Vue({
    data:{
        name1: "className1",
        name2: "className2"
    }
})
<style>
    .className1{color:red}
    .className2{color:blue}
</style>

数据和对象混用,数组第一个成员是对象

<div :class="[{active:name1}],name2"></div>

new Vue({
    el:"#app",
    data:{
        name1: true,
        name2: className
    }
})

<style>
    .active{color:red}
    .className{color:blue}
</style>

绑定内联样式:

<div :style="{'color':color,'fontSize':fontSize}"></div>

new Vue({
    el:'#app',
    data:{
        color: 'red',
        fontSize: 20 +'px'
    }
})

注意: css属性名称用驼峰名(camelCame)或短横分割 fontSize = font-size

使用 :sytle 时,vuejs 会自动给特殊css属性名增加前缀,如tranfrom 无需加前缀

v-bind 绑定的是活的属性