Vue之动态绑定CSS

操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。

下面介绍绑定html class中的对象语法

<div v-bind:class="{ active: isActive }"></div>

上述的这条式子中,当isActive为true时,这个div具备class="active"这个属性,isActive为false的时候,就不具备这个class属性

例子,当isActive=true,等同于下面这种情况

<div class="active"></div>

下面通过一个小例子再次实践一下vue中的动态绑定css

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <link rel="stylesheet" href="style.css">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="vue-app">

<span v-on:click="changeColor = !changeColor" v-bind:class="{changeColor:changeColor}">
    hello world
</span>
</div>
<script src="app.js"></script>
</body>
</html>
span{
    background: red;
    color: #fff;
    padding: 10px;
    margin: 10px 0px;
    display: inline-block;
}

.changeColor{
    background: green;
}
new Vue({
    el:"#vue-app",
    data:{
        changeColor:false
    },
    methods :{

    }
});

上面是相关的代码,实现的功能大概就是:点击改变span的样式

初始的时候为红色,点击后背景颜色变为绿色

初始的时候,我将changeColor属性置为了flase,也就是span不具备class属性

点击之后changeColor属性变成了true,这时候span具备了class属性,背景颜色被改变为绿色

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值