VUE课程参考---12、style样式绑定

VUE课程参考---12、style样式绑定

一、总结

一句话总结:

style样式绑定(内联样式绑定)也有对象语法和数组语法,对象语法就是键值对表示属性和属性值,数组语法就是数组里面可以放多个表示样式的对象
<div id="app">
    <!--对象语法-->
    <p :style="{color:'red','font-size':'30px'}">{{msg}}</p>
    <!--用vue实例中的data-->
    <p :style="{color:activeColor,'font-size':fontSize+'px'}">{{msg}}</p>
    <!--直接用对象-->
    <p :style="style1">{{msg}}</p>

    <!--数组语法-->
    <p :style="[style1,style2]">{{msg}}</p>

</div>
<script src="../js/vue.js"></script>
<script>
    let vm = new Vue({
        el: '#app',
        data: {
            msg: '我有一只小毛驴,我永远也不骑',
            activeColor:'purple',
            fontSize:'50',
            style1:{color:'blue','font-size':'30px'},
            style2:{'font-weight':600}
        }
    });
</script>

1、绑定内联样式也有对象语法和数组语法?

绑定内联样式对象语法:键值对表示属性和属性值,例如:<p :style="{color:'red','font-size':'30px'}">{{msg}}</p>,'red'和'30px'可以用vue中的变量代替
绑定内联样式数组语法:数组里面可以放多个表示样式的对象,例如:<p :style="[style1,style2]">{{msg}}</p>

2、绑定class样式和绑定内联(style)样式的数组语法和对象语法的区别?

绑定class样式:对象语法会在键值对的值为true,则将对应的属性名添加到class,为false则不添加;数组语法会依次将数组中的元素解析到class里面;
绑定内联(style)样式:对象语法就是键值对表示属性和属性值;数组语法就是数组里面可以放多个表示样式的对象
绑定class样式
<div id="app">
    <!--1、数组语法-->
    <p :class="['red','big']">{{msg}}</p>
    <!--数组里面的三元表达式-->
    <p :class="['red',isBig?'big':'']">{{msg}}</p>
    <!--数组里面放对象-->
    <p :class="['italic',{red:true,big:isBig}]">{{msg}}</p>
    <p :class="['italic',class1]">{{msg}}</p>


    <!--2、对象语法-->
    <p :class="{red:true,'big':isBig}">{{msg}}</p>
    <!--对象在vue实例中-->
    <p :class="class1">{{msg}}</p>
</div>
<script src="../js/vue.js"></script>
<script>
    let vm = new Vue({
        el: '#app',
        data: {
            msg: '我有一只小毛驴,我永远也不骑',
            isBig: true,
            class1: {red: true, big: true}
        }
    });
</script>

绑定内联(style)样式
<div id="app">
    <!--对象语法-->
    <p :style="{color:'red','font-size':'30px'}">{{msg}}</p>
    <!--用vue实例中的data-->
    <p :style="{color:activeColor,'font-size':fontSize+'px'}">{{msg}}</p>
    <!--直接用对象-->
    <p :style="style1">{{msg}}</p>

    <!--数组语法-->
    <p :style="[style1,style2]">{{msg}}</p>

</div>
<script src="../js/vue.js"></script>
<script>
    let vm = new Vue({
        el: '#app',
        data: {
            msg: '我有一只小毛驴,我永远也不骑',
            activeColor:'purple',
            fontSize:'50',
            style1:{color:'blue','font-size':'30px'},
            style2:{'font-weight':600}
        }
    });
</script>

3、绑定class样式和绑定内联(style)样式 时候 数组语法和对象语法 有区别的本质原因是什么?

指定样式的时候,用class只需要一个值,而用style的话,每个样式都需要两个值(样式名和样式值)

二、style样式绑定

博客对应课程的视频位置:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>12、style样式绑定</title>
 6 </head>
 7 <body>
 8 <!--
 9 绑定内联样式
10 
11 style样式绑定(内联样式绑定)也有对象语法和数组语法,对象语法就是键值对表示属性和属性值,数组语法就是数组里面可以放多个表示样式的对象
12 
13 
14 绑定内联样式也有对象语法和数组语法
15 绑定内联样式对象语法:键值对表示属性和属性值,例如:<p :style="{color:'red','font-size':'30px'}">{{msg}}</p>,'red'和'30px'可以用vue中的变量代替
16 绑定内联样式数组语法:数组里面可以放多个表示样式的对象,例如:<p :style="[style1,style2]">{{msg}}</p>
17 
18 绑定class样式和绑定内联(style)样式的数组语法和对象语法的区别
19 绑定class样式:对象语法会在键值对的值为true,则将对应的属性名添加到class,为false则不添加;数组语法会依次将数组中的元素解析到class里面;
20 绑定内联(style)样式:对象语法就是键值对表示属性和属性值;数组语法就是数组里面可以放多个表示样式的对象
21 
22 -->
23 <div id="app">
24     <!--对象语法-->
25     <p :style="{color:'red','font-size':'30px'}">{{msg}}</p>
26     <!--用vue实例中的data-->
27     <p :style="{color:activeColor,'font-size':fontSize+'px'}">{{msg}}</p>
28     <!--直接用对象-->
29     <p :style="style1">{{msg}}</p>
30 
31     <!--数组语法-->
32     <p :style="[style1,style2]">{{msg}}</p>
33 
34 </div>
35 <script src="../js/vue.js"></script>
36 <script>
37     let vm = new Vue({
38         el: '#app',
39         data: {
40             msg: '我有一只小毛驴,我永远也不骑',
41             activeColor:'purple',
42             fontSize:'50',
43             style1:{color:'blue','font-size':'30px'},
44             style2:{'font-weight':600}
45         }
46     });
47 </script>
48 </body>
49 </html>

 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12729466.html