vue中,如果对象的属性数字大于0设置.style1,小于0设置.style2,等于0设置.style3 ,该如何设置?
data : {
data1: 12,
data2: -12,
data3: 0
}
<div :class="">{{data.data1}}</div>
<div :class="">{{data.data2}}</div>
<div :class="">{{data.data3}}</div>
vue中,如果对象的属性数字大于0设置.style1,小于0设置.style2,等于0设置.style3 ,该如何设置?
data : {
data1: 12,
data2: -12,
data3: 0
}
<div :class="">{{data.data1}}</div>
<div :class="">{{data.data2}}</div>
<div :class="">{{data.data3}}</div>
css
.class1{
color:red
}
.class2{
color:green
}
.class3{
color:yellow
}
html
<div id="app">
<div v-bind:class="{'class1':data1>0,'class2':data1===0,'class3':data1<0}">{{ data1 }}</p>
<div v-bind:class="{'class1':data2>0,'class2':data2===0,'class3':data2<0}">{{ data2 }}</p>
<div v-bind:class="{'class1':data3>0,'class2':data3===0,'class3':data3<0}">{{ data3 }}</p>
</div>
js
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!',
data1: 12,
data2: -12,
data3: 0
}
})
可以实现,但是冗余代码太多,不知道具体要实现的是啥效果,有可优化的地方,具体可以看:
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
你可以用methods来实现,这样简洁一些。
Html:
JS:
Css: