Vue通过不同的值改变class
- 我们在进行组件化开发的时候,可能想让当前类有不同的样式,或者是多种样式。
- 亦或是我们想要通过props来进行父组件给子组件传值,然后子组件根据传过来的值进行判断,不同的值对应不同的样式(有点像组件库中的size)
- 这时候就引出上题了
操作方法
其实很简单,只需要给class加上{ '类名' : '条件' }
即可,比如
1 | <div class="pop" :class="{ popB : popAct == true}" > |
这里就给盒子加入pop 和 popB的类名了,popB是**(popAct == true)**这个条件为true的时候才触发,也就是popAct == false的时候,这个时候就没有popB这个类名了。
即:
- 当popAct == true的时候,class = “pop popB”
- 当popAct == false的时候,不满足触发popB的条件,class = “pop”
多个条件的情况下
1 | <div :class="[{ big : size == 'da' },{ mid : size == 'zhong'},{small : size=='xiao'}]"> |
上面的代码的意思:
- 当size这个变量等于’da’的时候,即size == ‘da’ 为true的时候,class=”big”
- 当size这个变量等于’zhong’的时候,即size == ‘zhong’ 为true的时候,class=”mid”
- 当size这个变量等于’xiao’的时候,即size == ‘xiao’ 为true的时候,class=”small”
这样看是不是很容易理解了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AliveSeven's Blog!
评论