首页 > 其他 > 详细

Vue样式绑定

时间:2020-05-14 16:12:22      阅读:40      评论:0      收藏:0      [点我收藏+]

Vue样式绑定

操作元素的class列表和内联样式是数据绑定的一种常见需求,是attribute,可以使用v-bind处理它们,通过表达式计算出字符串结果。

绑定HTML Class

对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class;

<style>
    .active{
        background-color:red;
    }
    .fontStyle{
        color:green;
    }
</style>
<body>
<div id="app">
    <p id="p1" v-bind:class="{‘active‘:isActive,‘fontStyle‘:isFontStyle}">段落的格式</p>
</div>
<script>
    var vm=new Vue({
        el:"#app",
        data:{
            isActive:true,
            isFontStyle:true
        }
    })
    var ele=document.getElementById("p1");
    ele.innerHTML=ele.className;
</script>

这个例子中表达式active根据isActive取值决定是否渲染,以此动态的绑定class。

数组语法

将一个数组传给class,例如
<div v-bind:class="[active,fontStyle]"

其中的属性还可以通过三元表示书写
v-bind:class="[isActive ? ‘active‘ : ‘‘,‘fontStyle‘

另外,对象语法的方式也可以使用
v-bind:class="[{‘active‘:isActive},‘fontStyle‘]"

绑定内联样式

对象语法

v-bind:style的对象语法与css类似,具体property在data中定义

<div id="app">
    <p id="p1" v-bind:style="{color:color,backgroundColor:backgroundColor}">段落的格式</p>
</div>
<script>
    var vm=new Vue({
        el:"#app",
        data:{
            color:‘green‘,
            backgroundColor:‘red‘
        }
    })
</script>

可以直接绑定样式对象,定义带data中。

<div id="app">
    <p id="p1" v-bind:style="active">段落的格式</p>
</div>
<script>
    var vm=new Vue({
        el:"#app",
        data:{
            active:{
                color:‘green‘,
                backgroundColor:‘red‘
            }
        }
    })
</script>

数组语法

可以将多个对象应用到一个元素上

<div v-bind:style="[baseStyles, overridingStyles]"></div>

Vue样式绑定

原文:https://www.cnblogs.com/508335848vf/p/12889006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!