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

一、绑定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> <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> <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> <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> <span :class="json">this is a test string</span> </div>

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

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

window.onload = function(){ var c = new Vue({ el : '#box', }); } <div> <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> <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' } } }); }

<div> <span :style="[c,b]">this is a test string</span> </div>

4、直接把data中的某个对象,绑定到style

window.onload = function(){ var c = new Vue({ el : '#box', data : { a : { color:'yellow', background : '#000' } } }); }

<div> <span :style="a">this is a test string</span> </div>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wydggz.html