绑定单个或者多个Class名用Vue

一、用 变量形式 绑定单个 Class 名

vue 中绑定单个 class 名还好说,直接写就可以了

<template>
  <div id="app">
    <!-- 因为是自定义属性,所以要用到 v-bind ,简写为 :   -->
    <!-- 3.将 box 绑定给 div -->
    <div :class="box"></div>
  </div>
</template>

<script>
export default {
  name: 'app',
  data () {
    return {
      // 2.在 data 中把 yellow 赋给 box
      box: 'yellow'
    }
  }
}
</script>

<style>
/* 1.在样式表中写好样式 */
.yellow{
   200px;
  height: 200px;
  background: #ff0;
}
</style>
 
用 Vue 绑定单个Class 名
二、用 数组形式 绑定多个 Class 名

比如我们想再给这个 div 加个阴影

style 中写好样式

.shadow{
  box-shadow: 10px 10px 5px 0 #999;
}

data 中继续添加数据对象

<script>
export default {
  name: 'app',
  data () {
    return {
      box: 'yellow',
      shadow:'shadow'
    }
  }
}
</script>

在标签中以数组的形式绑定 Class

<template>
  <div id="app">
    <div :class="[box,shadow]"></div>
  </div>
</template>

就 OK 了。


 
用 数组形式 绑定多个 Class 名
三、用 json 形式 绑定多个 Class 名

该方法方便用于当同时添加多个 Class 名时,在某种情况下判断显示哪种样式

先写好样式

<style>
.yellow{
   200px;
  height: 200px;
  background: #ff0;
}
.shadow{
  box-shadow: 10px 10px 5px 0 #999;
}
</style>

data 中添加数字对象,用来做判断

<script>
export default {
  name: 'app',
  data () {
    return {
      show1:true,
      show2:false
    }
  }
}
</script>

json 的形式绑定到 class 中,通过布尔值改变 show1show2 的值,来控制 div 的状态

<template>
  <div id="app">
    <div :class="{yellow:show1,shadow:show2}"></div>
  </div>
</template>
 
用 json 形式 绑定多个 Class
原文地址:https://www.cnblogs.com/changk/p/8569963.html