欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VUE.JS中的样式 -class 绑定(笔记)

程序员文章站 2022-05-15 22:38:50
...

方法大概可以分为三种

  • 直接传递一个数组,注意:这里的class需要使用 v-bind: 作数据绑定
<h1 :class="['thin','red','italic']">这是一个很大很大的H1</h1>
  • 在数组中使用三元表达式
<h1 :class="['thin','red','italic',flag?'active':'']">

这里的flag是在data中定义的,具体可以翻到本文最下面的整个代码查看

  • 在数组中使用嵌套对象来代替三元表达式,提高代码可读性,这里对象中的属性名可以带引号也可以不带引号,即 {active:flag}
<h1 :class="['thin','red','italic',{'active':flag}]">这是一个很大很大的H1</h1>
  • 在为class使用v-bind绑定对象的时候,对象的属性是类名,由于对象的属性可带引号,也可不带引号,所以这里我没有写引号; 属性的值是一个标识符

<h1 :class="{red:true,thin:true,italic:true,active:true}">这是一个很大很大的H1</h1>

  • 或者直接将对象放在Vue对象的data中

<h1 :class="classObj">这是一个很大很大的H1</h1>
classObj对象已经在data中定义了

最后附上代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="./lib/vue.js"></script>
  <style>
    .red {
      color: red;
    }

    .thin {
      font-weight: 200;
    }

    .italic {
      font-style: italic;
    }

    .active {
      letter-spacing: 0.5em;
    }
  </style>
</head>

<body>

  <div id="app">
    <!-- <h1 class="red thin">这是一个很大很大的H1</h1> -->

    <!-- 第一种使用方式,直接传递一个数组,注意:这里的class需要使用 v-bind:  作数据绑定 -->
    <!-- <h1 :class="['thin','red','italic']">这是一个很大很大的H1</h1> -->

    <!-- 在数组中使用三元表达式 -->
    <!-- <h1 :class="['thin','red','italic',flag?'active':'']">这是一个很大很大的H1</h1> -->

    <!-- 在数组中使用嵌套对象来代替三元表达式,提高代码可读性 -->
    <!-- 这里对象中的属性名可以带引号也可以不带引号,即 {active:flag} -->
    <!-- <h1 :class="['thin','red','italic',{'active':flag}]">这是一个很大很大的H1</h1> -->

    <!-- 在为class使用v-bind绑定对象的时候,对象的属性是类名,由于对象的属性可带引号,也可不带引号,所以这里我没有写引号; 属性的值是一个标识符 -->
    <!-- <h1 :class="{red:true,thin:true,italic:true,active:true}">这是一个很大很大的H1</h1> -->

    <!-- 或者直接将对象放在Vue对象的data中 -->
    <h1 :class="classObj">这是一个很大很大的H1</h1>
  </div>

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

      }
    });
  </script>
</body>

</html>