位置:电子教程 > Vue.JS入门教程 (如果看不到内容请使用360浏览器) 推荐学习资源
Vue.js入门
Vue.js 数据绑定
Vue.js中的指令
Vue.js 表单和双向数据绑定
Vue.js 条件和循环指令
Vue.js 循环语句v-for
Vue.js 样式绑定
Vue.js 事件处理器
Vue.js 监听属性
Vue.js 计算属性
Vue.js 组件 Component
Vue.js 自定义指令
Vue.js 路由
Vue.js 过渡和动画
Vue.js 响应接口
Vue.js中Ajax(Axios)
当前阅读教程:Vue.JS入门教程 > class属性 绑定一个数组
阅读(22555525)      收藏       赞(5685)      分享
上一篇: class属性 绑定返回对象的计算属性 下一篇: class属性 通过三目运算符绑定

我们可以把一个数组传给 v-bind:class

语法格式

v-bind:class="[数组元素1]"

v-bind:class="[数组元素1, 数组元素2, 数组元素n]"

示例

小白教程网www.2d5.net

:基础用法

下面实例中我们定义了两个样式,mycss1定义了绿色区块,mycss2定义了红色区块;然后我们将样式复制给变量var_css1:"mycss1" var_css2:"mycss2";最后通过v-bind:class绑定样式到要显示的元素v-bind:class="[var_css1]"v-bind:class="[var_css1,var_css2]"

代码
<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
     <title>Vue.js样式-class属性绑定一个数组</title>
     <!--加载本地vue.js的框架-->
     <script src="vue2.2.2.min.js"></script>
     <!--下面是内部样式-->
     <style>
             /*自定义一个绿色区块的样式:宽100px高50px,绿色背景*/   
             .mycss1 {
                      width: 150px;  /*宽度*/   
                      height: 50px; /*高度*/    
                      background-color: green;/*绿色背景*/
             }
             /*自定义一个红色区块的样式:宽250px高50px,红色背景*/   
             .mycss2 {
                      width: 250px;  /*宽度*/   
                      height: 50px; /*高度*/    
                      background-color: red;/*红色背景*/
             }               
     </style>
</head>
<body>
    
<!--定义div区块的id的值,这里定义的值为"app",后面vue会使用该值-->
<div id="app">
<!--属性var_css1的值为mycss1,相当于下面区块调用mycss1的样式-->
    <div v-bind:class="[var_css1]">绿色背景区块</div><hr>
   <!--属性var_css2代表的样式会覆盖var_css1代表的样式:宽度变为250px,颜色变更为红色-->
   <div v-bind:class="[var_css1,var_css2]">红色背景区块</div>
</div>
 
<script>
//Vue语句-开始        
new Vue({
  el: '#app',//app为前面div区块的id的值,通过"#"号绑定
  data: {
       var_css1:"mycss1", //初始化属性
       var_css2:"mycss2"  //初始化属性
  }
})//Vue语句-结束
</script>
</body>
</html>
效果图

小白教程网www.2d5.net

image.png



示例

小白教程网www.2d5.net

2:变通用法

下面实例中我们定义了两个样式,mycss1定义了绿色区块,mycss2定义了红色区块;我们不通过中间变量,可以直接将数组样式通过v-bind:class绑定到元素,可以有如下几种方式:

v-bind:class="['mycss1']"            <!—样式名有单引号-->

v-bind:class="'mycss1 mycss2'"      <!—样式名有单引号,多个中间用空格-->

v-bind:class="['mycss1','mycss2']" <!—样式名有单引号,多个中间用逗号分隔-->

代码
<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
     <title>Vue.js样式-class属性绑定一个数组:变通用法</title>
     <!--加载本地vue.js的框架-->
     <script src="vue2.2.2.min.js"></script>
     <!--下面是内部样式-->
     <style>
             /*自定义一个绿色区块的样式:宽100px高50px,绿色背景*/   
             .mycss1 {
                      width: 150px;  /*宽度*/   
                      height: 50px; /*高度*/    
                      background-color: green;/*绿色背景*/
             }
             /*自定义一个红色区块的样式:宽250px高50px,红色背景*/   
             .mycss2 {
                      width: 250px;  /*宽度*/   
                      height: 50px; /*高度*/    
                      background-color: red;/*红色背景*/
             }               
     </style>
</head>
<body>
    
<!--定义div区块的id的值,这里定义的值为"app",后面vue会使用该值-->
<div id="app">
<!--属性var_css2代表的样式会覆盖var_css1代表的样式:宽度变为250px,颜色变更为红色-->
   <div v-bind:class="[var_css1,var_css2]">红色背景区块,用法0</div><hr>
   <!--直接将原来属性var_css1位置使用值来代替,注意:这里是值mycss1是字符串要有单引号-->
   <div v-bind:class="['mycss1']">变通用法1</div><br>
    
<!--下面两种用法的效果和用法0一样-->
<div v-bind:class="'mycss1 mycss2'">变通用法2</div><br>
<div v-bind:class="['mycss1','mycss2']">变通用法3</div>
</div>
 
<script>
//Vue语句-开始        
new Vue({
  el: '#app',//app为前面div区块的id的值,通过"#"号绑定
  data: {
       var_css1:"mycss1", //初始化属性
       var_css2:"mycss2"  //初始化属性
  }
})//Vue语句-结束
</script>
</body>
</html>
效果图

小白教程网www.2d5.net

image.png

上一篇: class属性 绑定返回对象的计算属性 下一篇: class属性 通过三目运算符绑定
毕业设计网             广告联系QQ:45157718(微信同号)