zoukankan      html  css  js  c++  java
  • VUE课程---15、class类绑定

    VUE课程---15、class类绑定

    一、总结

    一句话总结:

    vue中绑定class主要有数组语法和对象语法,数组语法的时候会依次将数组里面的元素解析到class里面,对象语法就是将键值对中的值为true的键添加到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>

    1、vue中绑定class的数组语法和对象语法?

    数组语法:<p :class="['red','big']">{{msg}}</p>:会依次将'red'和'big'解析到class里面
    对象语法:<p :class="{red:true,'big':isBig}">{{msg}}</p>:键值对的值为true,则将对应的属性名添加到class,为false则不添加

    2、vue绑定class时数组语法注意?

    a、数组里面可以写三元表达式:<p :class="['red',isBig?'big':'']">{{msg}}</p>
    b、数组里面可以放对象:<p :class="['italic',{red:true,big:isBig}]">{{msg}}</p>

    3、vue中绑定class数据的时候解析数组的原理?

    数组语法:<p :class="['red','big']">{{msg}}</p>:会依次将'red'和'big'解析到class里面

    4、vue中绑定class数据的时候解析对象的原理?

    对象语法:<p :class="{red:true,'big':isBig}">{{msg}}</p>:键值对的值为true,则将对应的属性名添加到class,为false则不添加

    5、vue模板中解析数组和对象的特点(数据是否带引号的时候)?

    1、无论是数组还是对象,元素有引号就当做字符串解析,没带引号的就当做变量解析
    2、对象的键值对中的键一般不用带引号,但是如果键中有短号(例如big-1),则需要带引号
    <p v-bind:class="{big:true}">{{msg}}</p>
    <p v-bind:class="{'big-1':true}">{{msg}}</p>

    二、class类绑定

    博客对应课程的视频位置:15、class类绑定
    https://www.fanrenyi.com/video/26/232

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>class类绑定</title>
     6     <style>
     7         .red{color: red}
     8         .big{font-size: 30px}
     9         .big-1{font-size: 40px}
    10         .italic{font-style: italic}
    11     </style>
    12 </head>
    13 <body>
    14 <!--
    15 
    16 注意点:
    17 在vue的指令中,如果没有带引号,那么会被当做变量来解析,
    18 就会去vue里面找,如果没有找到,就会报错
    19 如果带引号了,就会被直接当成字符串来解析
    20 
    21 -->
    22 <!--<p class="red" style="font-size: 30px"></p>-->
    23 <div id="app">
    24     <!--1、用变量的方式-->
    25 <!--    <p v-bind:class="red">{{msg}}</p>-->
    26 
    27     <!--2、用字符串的方式-->
    28 <!--    <p v-bind:class="'red big italic'">{{msg}}</p>-->
    29 
    30     <!--3、数组的方式-->
    31     <!--会依次将数组里面的元素解析到class属性里面-->
    32 
    33     <!--在数组里面放字符串-->
    34 <!--    <p v-bind:class="['red','big']">{{msg}}</p>-->
    35     <!--在数组里面放变量-->
    36 <!--    <p v-bind:class="[red1,'big']">{{msg}}</p>-->
    37     <!--在数组里面放三元表达式-->
    38 <!--    <p v-bind:class="[red1,isBig?'big':'']">{{msg}}</p>-->
    39     <!--在数组里面放对象-->
    40 <!--    <p v-bind:class="[red1,{'big':false}]">{{msg}}</p>-->
    41 
    42     <!--4、对象的方式-->
    43     <!--对象里面属性名对应的属性值为true的话,就把属性名绑定到class属性-->
    44 <!--    <p v-bind:class="{big:true}">{{msg}}</p>-->
    45 <!--    <p v-bind:class="{'big-1':true}">{{msg}}</p>-->
    46 <!--    <p v-bind:class="{'big':true,'red':true}">{{msg}}</p>-->
    47 <!--    <p v-bind:class="class2">{{msg}}</p>-->
    48 
    49 </div>
    50 <script src="../js/vue.js"></script>
    51 <script>
    52     new Vue({
    53         el:'#app', //element
    54         data:{
    55             msg:'欢迎来到vue的世界',
    56             red:'red',
    57             red1:'red italic',
    58             isBig:false,
    59             class2:{'big':true,'red':true}
    60         }
    61     });
    62 </script>
    63 </body>
    64 </html>
     
  • 相关阅读:
    Oracle 11g R2 常用配置与日志的文件位置
    DBA常用SQL之会话与等待事件
    SSH框架之Spring第三篇
    SSH框架之Spring第二篇
    SSH框架之Spring第一篇
    SSH框架之Struts2第三篇
    SSH框架之Struts2第一篇
    SSH框架之Struts2第二篇
    SSH框架之Hibernate第四篇
    SSH框架之Hibernate第三篇
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12892381.html
Copyright © 2011-2022 走看看