上QQ阅读APP看书,第一时间看更新
5.3 绑定数据里的一个对象
我们可以先定义一个样式的对象,然后直接在v-bind:class中设置对象的名称,即实现对数据里对象的绑定。基础用法如下:
v-bind:class="对象名"
我们下面做一个示例:
1)定义两个样式—lvse_qukuai(绿色区块)和cuowu(红色区块)。
2)定义两个样式对象—classObject1(绿色区块)和classObject2(红色区块)。
//自定义样式对象classObject1 classObject1: { lvse_qukuai: true, cuowu: true }, //自定义样式对象classObject2 classObject2: { lvse_qukuai: true, cuowu: false }
3)直接使用v-bind:class语法绑定样式对象。
<div v-bind:class="classObject1">红色背景</div> <div v-bind:class="classObject2">绿色背景</div>
完整的示例代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue.js样式-class属性绑定数据里的一个对象</title> <!--加载本地vue.js的框架--> <script src="vue2.2.2.min.js"></script> <style> /*自定义一个绿色区块的样式:宽、高为100px,绿色背景*/ .lvse_qukuai { width: 100px; /*宽度*/ height: 100px; /*高度*/ background-color: green;/*绿色背景*/ } .cuowu{ background-color: red;/*红色背景*/ } </style> </head> <body> <!--定义div代码块的id的值,这里定义的值为app,后面Vue会使用该值--> <div id="app"> <!--使用对象classObject1来绑定样式--> <!--对象里面先是显示lvse_qukuai的绿色背景,然后再被样式cuowu的红色背景覆盖--> <div v-bind:class="classObject1">红色背景</div> <hr> <!--使用对象classObject2来绑定样式--> <!--对象里面显示lvse_qukuai的绿色背景(样式cuowu的红色背景因为设置为false,所以不覆 盖)--> <div v-bind:class="classObject2">绿色背景</div> </div> <script> //Vue语句-开始 new Vue({ el: '#app',//app为前面div代码块的id的值,通过“#”绑定 data: { //自定义样式对象classObject1 classObject1: { lvse_qukuai: true,//初始化属性 cuowu: true//初始化属性 },//后面有数据,则这里定义完毕后面需要跟上逗号“,” //自定义样式对象classObject2 classObject2: { lvse_qukuai: true,//初始化属性 cuowu: false//初始化属性 }//后面没有数据,则这里定义完毕,后面不需要跟上逗号“,” } })//Vue语句-结束 </script> </body> </html>
效果如图5-3所示。
图5-3 绑定数据里的一个对象