zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    我的QT5学习之路(二)——第一个程序
    我的QT5学习之路(目录)
    我的QT5学习之路(一)——浅谈QT的安装和配置
    memcpy、memmove、memset、memchr、memcmp、strstr详解
    UDP 单播、广播和多播
    C++重载操作符operator
    testNG官方文档翻译-4 运行TestNG
    testNG官方文档翻译-3 testng.xml
    testNG官方文档翻译-2 注解
    testNG官方文档翻译-1 简介
  • 原文地址:https://www.cnblogs.com/imgss/p/6013663.html
Copyright © 2011-2022 走看看