v-bind指令用于响应更新html特性,允许将一个或多个属性动态绑定到表达式。v-bind是应用在动态属性上面的。
v-bind语法如下:
v-bind:动态属性名称="变量"
也可以简写成下面的形式:
:动态属性名称="变量"
代码示例如下:
<img :src="imgurl" :title="title" />
这里的src和title都是<img>标签的属性,这里都是绑定到变量。
v-bind中还可以使用判断,例如:
<img :src="flag?imgurl:imgurl2" />
这里表示如果flag变量的值为true,那么src属性的值是变量imgurl的值,否则src的属性值就是变量imgurl2对应的值。
注意:只要是html标签的属性都可以这样去绑定属性值。
代码示例如下:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>在class属性中使用v-bind指令</title> <!--引入vue.js--> <script src="node_modules/vue/dist/vue.js" ></script> <script> window.onload=function(){ // 构建vue实例 new vue({ el:"#my",// el即element,表示挂载的元素,不能挂载在html和body元素上面 // data表示数据,data中可以是各种数据格式 data:{ flag:true, varstyle:"bindstyle", //值是样式的名称 style1:"colorstyle", style2:"colorstyle2" }, // 方法 methods:{ } }) } </script> <style> .colorstyle { color: #ff6600; } .colorstyle2{ margin-top: 10px; background-color: chartreuse; border: 1px solid blue; } .bindstyle { margin-top: 5px; color: red; } .bindstyle2 { margin-top: 5px; color: red; background-color: green; } </style> </head> <body> <div id="my"> <!--单个样式引用,这里是直接写的data里面变量的名称--> <div :class="varstyle">这里是使用v-bind改变样式</div> <!--单个样式引用,双引号加单引号,单引号里面是样式的名称,这种方式可以不在data里面写变量--> <div :class="'bindstyle2'">直接引用样式的名称,不需要在data里面定义变量</div> <!--多个样式引用 使用数组的方式--> <div :class="[style1,style2]">这里是同时使用多个样式</div> <!--条件判断 格式:样式名:判断条件 注意:样式名不能用变量--> <div :class="{'colorstyle2':flag}">条件判断</div> <!--三目运算符 flag为真显示style2变量对应的样式,否则显示style1变量对应的样式--> <div :class="flag?style2:style1">三目运算符</div> </div> </body> </html>
效果图如下:
代码示例如下:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>style示例</title> <!--引入vue.js--> <script src="node_modules/vue/dist/vue.js" ></script> <script> window.onload=function(){ // 构建vue实例 new vue({ el:"#my",// el即element,表示挂载的元素,不能挂载在html和body元素上面 // data表示数据,data中可以是各种数据格式 data:{ flag:true,//布尔型 style1:{background:'blue'}, style2:{color:'red'}, unify:"unifystyle" }, // 方法 methods:{ } }) } </script> <style> .unifystyle{ margin-top: 10px; } </style> </head> <body> <div id="my"> <!--直接写内联样式:要采用驼峰写法,中间的-去掉--> <div :style="{color:'#f60',fontsize:'20px',margintop:'10px'}"> 内联样式 </div> <!--单个引用--> <div :style="style1" :class="unify"> 单个引用 </div> <!--多个样式引用--> <div :style="[style1,style2]" :class="unify">多个样式引用</div> <!--三目运算符--> <div :style="flag?style1:style2" :class="unify">使用三目运算符进行判断</div> </div> </body> </html>
效果图如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。