Vue的学习之路七:v-bind绑定class样式

<style>
      .red{
        color: red;
      }
      .thin{
        font-weight: 200;
      }
      .italic{
        font-style: italic;
      }
      .active{
        letter-spacing: 0.5em;
      }
    </style>
  </head>
  <body>
    <div id="app">
      <!-- 第一种使用方式,直接传递一个数组,注意:这里的 class 需要使用 v-bind 做数据绑定-->
      <!-- <h1 :class="['red', 'thin', 'italic']">大大的H1</h1> -->

      <!-- 在数组中使用三元表达式 -->
      <!-- <h1 :class="[flag?'active':'', 'thin', 'italic']">大大的H1</h1> -->
      
      <!-- 在数组中使用对象来代替三元表达式,提高代码可读性 -->
      <!-- <h1 :class="['thin', 'italic', {'active': flag}]">大大的H1</h1> -->

      <!-- 在为 class 使用 v-bind 绑定对象的时候,对象的属性是类名,由于对象的属性可带引号,也可不带引号,所以这里没写引号,属性的值是一个标识符 -->
      <h1 :class="classObj">大大的H1</h1>
    </div>

    <script>
      var vm = new Vue({
        el: '#app', 
        data: { 
          classObj: { red:true, thin: true, italic: false, active: false }
        },
        methods: {
          
        }
      })
    </script>
  </body>

使用v-bind绑定class改变样式

  1. ['red', 'thin', 'italic']:直接传递一个数组,数组中的元素用引号括起来,会在style中寻找样式
  2. 三元表达式[flag?'active':'', 'thin', 'italic']:元素不加引号,会在Vue实例的data属性中寻找值
  3. 在数组中使用对象['thin', 'italic', {'active': flag}]:在Vue实例的data属性中寻找flag的值,根据flag的值决定是否加上active类名
  4. 为 class 使用 v-bind 绑定对象:对象的属性是类名,由于对象的属性可带引号,也可不带引号,所以这里没写引号,属性的值是一个标识符
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值