Class与Style绑定

class绑定

1.class对象绑定

先看代码:

<style type="text/css">
     .active{color:red;}
</style>

active 这个 class 存在与否将取决于数据属性 isactive 的 truthiness

<body>
    <div id="app">
        <div @click="handleClick" :class="{active:isactive}">
            hello world
        </div>
    </div>
    <script>
        var app = new Vue({
            el:'#app',
            data:{
                isactive:false
            },
            methods:{
                handleClick:function(){
                    this.isactive = !this.isactive
                }
            }
        })
    </script>
</body>

2.class数组绑定

先看代码:

<div id="app">
       <div :class="[active]" @click="handleDivClick">hello world</div>
</div>

这里绑定的class是以数组的形式,在data里定义一个active变量为空。

<script>
        var app = new Vue({
            el:'#app',
            data:{
                active:''
            },
            methods:{
                handleClick:function(){
                    this.active = "active"
                }
            }
        })
    </script>

点击时,把class名为active的值赋值给this.active。
此时,效果是点击之后文字颜色变红,可是再次点击就没反应,只需要改下代码

methods:{
        handleClick:function(){
            this.active = this.active == "active" ? "" :"active"
            }
        }

style绑定

1.style对象绑定

先看代码:

<body>
    <div id="app">
        <div @click="handleClick" :style="styleObj">
            hello world
        </div>
    </div>
    <script>
        var app = new Vue({
            el:'#app',
            data:{
                styleObj:{
                    color:"#333"
                }
            },
            methods:{
                handleClick:function(){
                    this.styleObj.color = this.styleObj.color==="red"?"#333":"red"
                }
            }
        })
    </script>
</body>

这里给div绑定一个style,值为styleObj。
先在data里定义styleObj,里面放着样式内容。然后点击,切换颜色样式

2.style数组绑定

先看代码:
用数组的方式绑定style时,可以放入多组对象,如下代码

<div id="app">
        <div @click="handleClick" :style="[styleObj,{background:'#ccc'}]">
            hello world
        </div>
    </div>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、 用对象的方法绑定class 说明设置一个对象,可以动态地切换class对象中也可以传入多个属性,来动态切换c...
    唯老阅读 806评论 0 6
  • Class与Style绑定 操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以...
    Program_黑阅读 384评论 0 7
  • DOM元素经常会动态地绑定一些class类名或style样式,本节将介绍使用v-bind指令来绑定class和st...
    六个周阅读 671评论 1 6
  • Class 与 Style 绑定 数据绑定的一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是...
    李诺哦阅读 596评论 0 0
  • 操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是属性,所以我们可以用 v-bind 处...
    mxjsxz阅读 314评论 0 1