码迷,mamicode.com
首页 > Web开发 > 详细

Vue.js学习笔记 第二篇 样式绑定

时间:2017-12-18 19:09:00      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:ase   html   内联   ack   决定   span   base   fonts   trap   

Class绑定的对象语法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="https://unpkg.com/vue"></script>
    <style type="text/css">
        .active {
            width: 64px;
            height: 64px;
            background: blue;
        }
        .text-danger {
            background: red;
        }
    </style>
</head>
<body>
    <div id="app-1">
        <div v-bind:class="{ active: isActive, textDanger: hasError }"></div>
    </div>
    <script type="text/javascript">
        var vm1 = new Vue({
            el: #app-1,
            data: {
                isActive: true,
                hasError: false
            }
        })
    </script>
</body>
</html>

最基础样式绑定,是否使用样式由后面的布尔值决定

也可以绑定一个对象,这样看起来代码更清爽一些

<div id="app-2">
    <div v-bind:class="classObject"></div>
</div>
<script type="text/javascript">
    var vm2 = new Vue({
        el: #app-2,
        data: {
            classObject: {
                active: true,
                text-danger: true
            }
        }
    })
</script>

这两段代码中有个地方要特别注意一下,Bootstrap的text-danger属性分别使用了textDanger(驼峰式)和text-danger(串联式)的写法,这2种写法Vue都是支持的,唯一要注意的是使用串联式要加单引号

例如:font-size属性,在Vue里面可以写成fontSize(驼峰式)或‘font-size‘(串联式)

Class绑定的数组语法

<div id="app-3">
    <!-- 可以用三元表达式来选择性的渲染 -->
    <div v-bind:class="[activeClass, hasError ? errorClass : ‘‘]"></div>
    <!-- 也可以在数组语法中使用对象语法 -->
    <div v-bind:class="[activeClass, { errorClass: hasError }]"></div>
</div>
<script type="text/javascript">
    var vm3 = new Vue({
        el: #app-3,
        data: {
            hasError: true,
            activeClass: active,
            errorClass: text-danger
        }
    })
</script>

内联绑定的对象语法

<div id="app-4">
    <div v-bind:style="{ color:activeColor, fontSize: fontSize + ‘px‘ }">双子宫殿</div>
</div>
<script type="text/javascript">
    var vm4 = new Vue({
        el: #app-4,
        data: {
            activeColor: red,
            fontSize: 30
        }
    })
</script>

同样内联绑定也可以绑定一个对象

<div id="app-5">
    <div v-bind:style="styleObject">Hello, TanSea!</div>
</div>
<script type="text/javascript">
    var vm5 = new Vue({
        el: #app-5,
        data: {
            styleObject: {
                color: green,
                fontSize: 20px
            }
        }
    })
</script>

内联绑定的数组语法

<div id="app-6">
    <div v-bind:style="[ baseStyles, overridingStyles ]">Hello, TanSea!</div>
</div>
<script type="text/javascript">
    var vm6 = new Vue({
        el: #app-6,
        data: {
            baseStyles: {
                color: blue,
                fontSize: 30px
            },
            overridingStyles: {
                fontFamily: 微软雅黑
            }
        }
    })
</script>

总体来说,样式绑定相对来说是比较简单的,只要记住语法格式就行了

Vue.js学习笔记 第二篇 样式绑定

标签:ase   html   内联   ack   决定   span   base   fonts   trap   

原文地址:http://www.cnblogs.com/TanSea/p/Vue-Chapter2-StyleBind.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!