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 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'

}

}

});

}

<div id="box">

<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 id="box">

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

</div>

以上是 vue绑定class与行间样式style详解 的全部内容, 来源链接: utcz.com/z/313747.html

回到顶部