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