class 与 style 是 html 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性。
以下例子,把class样式设置在style标签中,vue实例中只存在一个布尔值isactive ,用v-bind:class=”{ active: isactive }”的方式绑定样式,根据布尔值来决定是否渲染。
<style>.active {
width: 100px;
height: 100px;
background: green;}</style><p id="app">
<p v-bind:class="{ active: flag}"></p></p><script>new vue({
el: '#app',
data: {
flag: true
}
})
</script>
绑定多个class
v-bind:class="{ active: isactive, 'text-danger': haserror }">
以对象形式绑定多个class
<p id="app">
<p v-bind:class="classobject"></p></p><script>new vue({
el: '#app',
data: {
classobject: {
active: true,
'text-danger': true
}
}
})
</script>
以数组的方式绑定样式
<p id="app">
<p v-bind:class="[activeclass, errorclass]"></p></p><script>new vue({
el: '#app',
data: {
activeclass: 'active',
errorclass: 'text-danger'
}
})
</script>
内联样式的绑定
<p id="app">
<p v-bind:style="{ color: activecolor, fontsize: fontsize + 'px' }">菜鸟教程</p></p><script>new vue({
el: '#app',
data: {
activecolor: 'green',
fontsize: 30
}
})
用对象方式绑定内联样式
<p id="app">
<p v-bind:style="styleobject">菜鸟教程</p></p><script>new vue({
el: '#app',
data: {
styleobject: {
color: 'green',
fontsize: '30px'
}
}
})
</script>
以上就是vue.js样式绑定问题的详细内容。