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

Vue中通过属性绑定为元素设置class类样式

程序员文章站 2022-03-03 09:16:41
...

1.数组

<h1 :class="['red','italic']">这是一个很大的H1,大到你无法想象</h1>

2.数组中使用三元表达式

<h1 :class="['thin','italic',isactive?'active':'']">这是一个很大的H1,大到你无法想象</h1>

3.数组中嵌套对象

<h1 :class="['thin','italic',{'active':isactive}]">这是一个很大的H1,大到你无法想象</h1>

4.直接使用对象

<h1 :class="{red:true,italic:true,active:false}">这是一个很大的H1,大到你无法想象</h1>

完整代码:

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <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="['red','italic']">这是一个很大的H1,大到你无法想象</h1>

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

    <!--在数组中使用对象来代替三元表达式,提高代码可读性-->
    <h1 :class="['thin','italic',{'active':isactive}]">这是一个很大的H1,大到你无法想象</h1>

    <!--在为class用v-bind绑定对象的时候,对象的属性是类名,对象的属性可带引号,也可不带。属性的值是一个标识符 -->
    <h1 :class="classObj">这是一个很大的H1,大到你无法想象</h1>
  </div>
</body>
<script src="vue.min.js"></script>
<script>
  var vm = new Vue({
    el:'#app',
    data:{
      isactive:true,
      classObj:{red:true,italic:true,active:false},
    },
  });
</script>
</html>