Vue中的Class和Style绑定

1、绑定Class

1.1使用对象绑定:

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

active这个class是否存在取决于isActive的值,如以下实例:设置样式  .activated{color=red}

<div id="root" >
     <div @click="handleClick"
           :class="{activated:isActivated}"
     >
            Hello world
     </div>    
</div>
<script>
    var vm=new Vue({
        el: "#root",
        data:{
            isActivated: true,
                   },
        methods:{
            handleClick: function () {
                this.isActivated=!this.isActivated;
            }          
        }
    })

结果展示: 

1.2使用数组绑定class

<div :class=[active,activeOne]></div>

  在Vue对象中设置active和activeOne的值,如以下实例

<div id="root" >    
    <div @click="handleClick"
         :class="[activated,activatedOne]"
    >
           使用数组绑定Class
    </div>    
</div>
<script>
    var vm=new Vue({
        el: "#root",
        data:{            
            activated: "",
            activatedOne:"activated-one",
           
            }
        },
        methods:{            
            handleClick: function () {
              this.activated=this.activated==="activated"?"":"activated";
            }            
        }
    })

 结果展示:

2、绑定Style

2.1使用对象绑定

<div :style="{color:color, fontSize: fontSize+"px"}"></div>

data:{
    color:"red",
    fontSize:30
}

更好的方法是直接绑定到一个样式对象,入一下实例:

<div id="root" >     
    <div :style="styleObj"
         @click="handleClick"
    >
        使用样式对象绑定style
    </div>
</div>
<script>
    var vm=new Vue({
        el: "#root",
        data:{
           styleObj:{
                color: "red",
                fontSize: 30px
            }
        },
        methods:{            
            handleClick: function () {
                this.styleObj.color=this.styleObj.color==="black"?"red":"black";
                this.styleObj.fontSize=this.styleObj.fontSize==="30px"?"":"30px";
            }
        }
    })
</script>

结果展示:

2.2使用数组语法绑定style

<div :style="[styleObj,{background: background}]"></div>

data:{
    styleObj: {    
        color:"red",
        fontSize:30
            },
    background: "green"
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值