Vue中Class与Style如何动态绑定


Class 可以通过对象语法和数组语法进行动态绑定:

  • 对象语法:
<div v-bind:class="{ active: isActive, 'text-danger': hasError }"></div> data: { isActive: true, hasError: false }
  • 数组语法:
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div> data: { activeClass: 'active', errorClass: 'text-danger' }

Style 也可以通过对象语法和数组语法进行动态绑定:

  • 对象语法:
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> data: { activeColor: 'red', fontSize: 30 }
  • 数组语法:
<div v-bind:style="[styleColor, styleSize]"></div> data: { styleColor: { color: 'red' }, styleSize:{ fontSize:'23px' } }
  • 定义变量法:

通过判断一个条件去改变样式在项目中会经常遇到,此时我们可以适应给想要绑定的class定义一个变量进行动态切换class。

<div class=“className”  :class={newclass : variable }>

我们可以将这个variable 在我们的data里面设置成false(默认不显示)

data () {

variable :false

}

之后给newclass 编写我们想要动态变动的样式

.className{

color: red;

}

.newclass {

color: black

}

现在是因为newclass 是定义的变量为Flase所以样式为className定义的内容

在我们js内容部分:

if(条件){

this.variable =true

}

即可通过条件来动态的切换样式。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM