vue绑定class的几种方式

vue绑定class的几种方式

1.对象语法
在对象上绑定class属性,来控制class 的几种状态。

<body>

<div id = "app">
    <h1 :class = "{'active': isActive}">hello world!</h1>
</div>
<script src = "https://unpkg.com/vue/dist/vue.min.js"></script>
<script>
  var app = new Vue({
      el: '#app',
      data: {
          isActive: true
      }
  })
</script>
</body>

2.数组语法
将class的属性值组成一个数组来控制class的各种属性,当class 需要有多个属性的时候就要用数组语法来绑定其中的值,这样做的好处是有利于动态修改class的值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .active{
            color: red;
            width: 100px;
            height: 300px;
        }
    </style>
</head>
<body>

<div id = "app">
    <div :class="[isActive ? activeCls : '', errorCls]"></div>
</div>
<script src = "https://unpkg.com/vue/dist/vue.min.js"></script>
<script>
    // 绑定数组运算符号
    var app = new Vue({
        el: '#app',
        data: {
            isActive: false,
            activeCls: 'active',
            errorCls: 'error'
        }
    })
</script>
</body>
</html>

3.在组件上使用
如果在组件上使用class 或者:clas上,样式规则会直接应用到这个组件的跟元素上,如下所示:

<body>
<div id = "app">
   <my-component :class="{'active': isActive}"></my-component>
</div>
<script src = "https://unpkg.com/vue/dist/vue.min.js"></script>
<script>
    // 自定义组件
    Vue.component('my-component',{
        template: '<p class="article">这是一些文本文章!!!!</p>'
    });
    // 绑定数组运算符号
    var app = new Vue({
        el: '#app',
        data: {
            isActive: false
        }
    })
</script>

最终渲染后的结果为

<p class="article">这是一些文本文章!!!!</p>

这种用法仅仅适用于自定义组件的外层是一个根元素,否则会无效,当不满足这种条件或者给具体的子元素设置类名的时候应当使用组件的props来传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值