首页 > 语言 > JavaScript > 正文

vue绑定class与行间样式style详解

2024-05-06 15:12:49
字体:
来源:转载
供稿:网友

一、绑定class属性的方式

1、通过数组的方式,为元素绑定多个class

<style>  .red {    color:red;    /*color:#ff8800;*/  }  .bg {    background: #000;    /*background: green;*/  }  </style>  window.onload = function(){    var c = new Vue({      el : '#box',      data : {        red_color : 'red',        bg_color : 'bg'      }    });  }  <div id="box">    <span :class="[red_color,bg_color]">this is a test string</span>  </div>

上例为span 绑定2个class,通过设定red_color和bg_color的值,找到对应的class类名

2、通过控制class的true或者false,来使用对应的class类名, true: 使用该class,  false: 不使用该class

<style>  .red {    color:red;  }  .bg {    background: #000;  }  </style>  window.onload = function(){    var c = new Vue({      el : '#box',      data : {      }    });  }    <div id="box">    <span :class="{red:true,bg:true}">this is a test     string</span>  </div>

3、这种方式,跟第二种差不多,只不过是把class的状态true/false用变量来代替

<style>  .red {    color:red;  }  .bg {    background: #000;  }  </style>  window.onload = function(){    var c = new Vue({      el : '#box',      data : {        r : true,        b : false      }    });  }  <div id="box">    <span :class="{red:r,bg:b}">this is a test string</span>  </div>

4、为class属性绑定整个json对象

<style>  .red {    color:red;  }  .bg {    background: #000;  }  </style>  window.onload = function(){    var c = new Vue({      el : '#box',      data : {        json : {          red : true,          bg : false        }      }    });  }  <div id="box">    <span :class="json">this is a test string</span>  </div>

 二、绑定style行间样式的多种方式

1、使用json格式,直接在行间写

window.onload = function(){    var c = new Vue({      el : '#box',    });  }   <div id="box">    <span :style="{color:'red',background:'#000'}">this is a test string</span>  </div>

2、把data中的对象,作为数组的某一项,绑定到style

window.onload = function(){    var c = new Vue({      el : '#box',      data : {        c : {          color : 'green'        }      }    });  }  <div id="box">    <span :style="[c]">this is a test string</span>  </div>

3、跟上面的方式差不多,只不过是为数组设置了多个对象

window.onload = function(){    var c = new Vue({      el : '#box',      data : {        c : {          color : 'green'        },        b : {          background : '#ff8800'        }      }    });  }            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选