前端学习日记Vue: v-bind用于 class 和 style 时表达式结果的类型可以是字符串,对象或数组.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app">
    <!--
    字符串拼接麻烦且易错。
    因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。
    v-bind:class 指令也可以与普通的 class 属性共存,如class="test" 。
    -->
<!--     <div
    class="test" 
    v-bind:class="[ isActive ? 'active' : '', isGreen ? 'green' : '']"
    style="width:100px; height:200px; text-align:center; line-height:200px;">
        hi vue
    </div> -->
    <div 
    class="test" 
    v-bind:class="{ 'active': isActive, 'green':isGreen, texthaha: hasError }"
    style="width:100px; height:200px; text-align:center; line-height:200px;">
        hi vue
    </div>
    <!-- 可以看见div中的字体过大,所以挤了下来,但是由于div块元素中的文本是属于标准流的,所以就被第二个div占位 -->
    
    <div 
    :style="{color:color, fontSize:size, background: isBlue ? '#0000FF' : ''}">
        hi vue
    </div>
</div>
<script type="text/javascript">
var vm = new Vue({
    el : "#app",
    data : {
        isActive : true,
        isGreen : true,
        hasError: true,
        
        color : "#FFFFFF",
        size : '50px',
        isBlue : true
    }
});
</script>
<style>
.test{font-size:30px;}
.green{color:#00FF00;}
.active{background:#FF0000;}
.texthaha
{font-size: 100px;}
</style>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值