• v-bind动态绑定class和style


    现在很多网站,都是希望动态切换class,更换css样式。下面我们使用Vue的v-bind绑定class

    v-bind动态绑定class

    对象语法绑定(常用)

    red和size的值为true就在class显示red和size,false就不显示。下面有两种写法:

    <style>
        .red{
            color: red;
        }
        .size{
            font-size: 20px;
        }
    </style>
    
    <div id="app">
        <ul>
            <!--写法一-->
            <li :class="{red:isColor,size:isSize}">{{list}}</li>
            <!--写法二,v-bind绑定函数必须加上()-->
            <li :class="listData()">{{list}}</li>
        </ul>
        <!--点击这个,red的true变false,反之red的false变true-->
        <button @click="reverse">反选</button>
    </div>
    
    <script>
        const app=new Vue({
            el:"#app",
            data:{
                list:"Vue",
                isColor:true,
                isSize:true
            },
            methods:{
                reverse:function () {
                    return this.isColor = !this.isColor;
                },
                //写法二
                listData:function () {
                    return {red:this.isColor,size:this.isSize};
                }
            }
        })
    </script>

    注意:v-bind:class指令可以与普通的class特性共存;对应的语法糖:“:class”等于v-bind:class

    数组语法绑定

    数组语法不常用,主要是它不灵活:

    <div id="app">
        <ul>
            <!--这里绑定data的变量-->
            <li :class="[acli,bcli]">{{list}}</li>
        </ul>
    </div>
    
    const app=new Vue({
            el:"#app",
            data:{
                list:"Vue",
                acli:"aaa",
                bcli:"bbb",
            },
    })    

    字符串绑定更数组语法绑定差不多,不常用

    <div id="demo">
      <span :class="classA"></span>
    </div>
    
    let vm = new Vue({
        el:"#demo",
        data:{
          classA:"string"
        }
    })

    综合的写法

    <div id="demo">
      <span :class="[one,{‘classA‘:classa,‘classB‘:classb}]"></span>
    </div>
    
    var vm = new Vue({
        el:"#demo",
        data:{
          one:"string",
          classa:true,
          classb:false
        }
    })

    v-bind动态绑定style

    对象语法绑定(常用)

    v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。

    <div id="app">
        <ul>
            <!--{key(属性名):value(属性值)}-->
            <li :style="{color:color,fontSize:size+'px'}">{{list}}</li>
            <!--如果你想属性值原样数组,就必须加上单引号-->
            <li :style="{color:'red'}">{{list}}</li>
        </ul>
    </div>
    
    const app=new Vue({
        el:"#app",
        data:{
            list:"Vue",
            color:"red",
         size:50 }, })

    注:对象语法的value(属性值),如果加上单引号就原样输出,不加就输出data的变量值

    数组语法绑定

    v-bind:style 的数组语法可以将多个样式对象应用到同一个元素上:

    <div v-bind:style="[baseStyles,overridingStyles]">{{list}}</div>
    
    const app=new Vue({
        el:"#app",
        data:{
            list:"Vue",
            baseStyles:{fontSize:"50px",color:"red"},
            overridingStyles:{"margin-top":"50px"}
        },
       
    })
  • 相关阅读:
    ROSS仿真系统简单教程
    python小练习1.1
    c语言文件I/O 文件读取和写入
    Python 学习笔记 多线程-threading
    parsec(The parsec benchmark suit )使用教程
    Checkpoint/Restore In Userspace(CRIU)使用细节
    Checkpoint/Restore in Userspace(CRIU)安装和使用
    考研总结
    北理计算机复试经验
    PAT(A) 1075. PAT Judge (25)
  • 原文地址:https://www.cnblogs.com/bushui/p/12194133.html
Copyright © 2020-2023  润新知