• vue.js之绑定class和style


    一.绑定Class属性。

    绑定数据用v-bind:命令,简写成:

    语法<div v-bind:class="{ active: isActive }"></div>。class后面的双引号里接受一个对象字面量/对象引用/数组作为参数,

    这里,{active: isActive}是对象参数,active是class名,isActive是一个布尔值。下面是一个例子:

    绑定对象字面量

    html:

    <div id="classBind">
        <span :class="{warning:isWarning,safe:isSafe}" v-on:click="toggle">
        状态:{{alert}}{{isSafe}}
        </span>
    </div>
    //js
    var app11=new Vue({ el:'#classBind', data:{ isWarning:true, alertList:['红色警报','警报解除'], alert:'' }, computed:{ isSafe:function(){ return !this.isWarning; } }, methods:{ toggle:function(){ this.isWarning=!this.isWarning; this.alert= this.isWarning?this.alertList[0]:this.alertList[1]; } } });

    css:

    .warning{
        color:#f24;
    }
    .safe{
        color:#42b983;
    }

    当点击状态文字时,可以切换后面的文字和颜色

    //状态:警报解除true

    //状态:红色警报false

    绑定对象引用

    这里绑定的对象可以写到Vue实例的data里面,而在class="classObj ",双引号中的class是对Vue实例中classObj对象的引用。classObj可以放在data中或者computed中,如果在computed中,则classObj所对应的函数必须返回一个对象如下:

    js:

    var app11=new Vue({
        el:'#classBind',
        data:{
            isWarning:true,
            alertList:['红色警报','警报解除'],
            alert:''
        },
        computed: {
            isSafe: function () {
                return !this.isWarning;
            },
            classObj:function(){
                return {
                    warning: this.isWarning,
                    safe:this.isSafe
                }
            }
        },
        methods:{
            toggle:function(){
                this.isWarning=!this.isWarning;
                this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
            }
        }
    
    });

    绑定数组

    html:

    <div v-bind:class="classArray" @click="removeClass()">去掉class</div>

    js

    data: {
    classArray:["big",'red']
    }
    methods:{
    removeClass:function(){
      this.classArray.pop();
    }
    }

    css:

    .big{
        font-size:2rem;
    }
    .red{
         color:red;    
    }

    效果,点击去掉class,会调用removeClass函数,去掉classArray数组的最后一项,第一次,去掉'red',字体颜色由红变黑,再点,去掉'big',字体变小。

    二、绑定内联style

    此时此刻,我一边看着本页旁边的那个Vue api文档学,一边到这里卖,装逼的感觉真爽o(^▽^)o

    html

    <div id="styleBind">
        <span :style="{color:theColor,fontSize:theSize+'px'}" @click="bigger">styleBind</span>
    </div>

    css

    这个不需要css。。。

    js

    var app12=new Vue({
        el:'#styleBind',
        data:{
            theColor:'red',
            theSize:14
        },
        methods:{
            bigger:function(){
                this.theSize+=2;
            }
        }
    
    });

    除了传入对象字面量以外,也可以传入对象引用和数组给V-bind:style

  • 相关阅读:
    遗传算法求解旅行商(TSP)问题 -- python
    office 小技巧
    oracle创建dblink
    c# equals与==的区别
    两人之间的一些参数
    .net 枚举(Enum)使用总结
    SQL Server 日期的加减函数: DATEDIFF DATEADD
    jquery操作select
    AS3帮助手册
    Razor和HtmlHelper的使用意义
  • 原文地址:https://www.cnblogs.com/imgss/p/6013663.html
Copyright © 2020-2023  润新知