Vue中的样式绑定

我们都知道,Vue是一个面向数据的语言,其实是很少直接操作DOM元素的内容的,所以Vue是怎么改变DOM标签的样式呢,以下有三种方式:
1.对class对象的绑定

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
        <style>
            .changeColor{
                color:red;
            }
        </style>
    </head>
    <body>
        <div id="app">     
            <div @click="divclick" :class="{changeColor:isChangeColor}"> 你好,Vue</div>
        </div>

        <script type="text/javascript">
            var vm = new Vue ({
                el:"#app",
                data:{
                    isChangeColor:false
                },
                //1.class的对象绑定
                methods:{
                    divclick:function(){
                        this.isChangeColor =! this.isChangeColor;
                    }
                }
            }) //Vue编程是面向数据的编程,不会直接操作DOM元素
        </script>
    </body>
</html>

2.class构建数组语法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
        <style>
            .changeColor{
                color:red;
            }
        </style>
    </head>
    <body>
        <div id="app">     
            <div @click="divclick" :class='[changeColor]'> 你好,Vue</div>
        </div>

        <script type="text/javascript">
            var vm = new Vue ({
                el:"#app",
                data:{
                    changeColor:""
                },
                methods:{
                    divclick:function(){
                        this.changeColor=this.changeColor==="changeColor"
                        ?"":"changeColor"
                    }
                }
            }) //Vue编程是面向数据的编程,不会直接操作DOM元素
        </script>
    </body>
</html>

3.style绑定

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="app">     
            <div :style="[styleObj]" @click="divclick"> 你好,Vue</div>
        </div>

        <script type="text/javascript">
            var vm = new Vue ({
                el:"#app",
                data:{
                    styleObj:{
                        color:"black"
                    }
                },
                methods:{
                    divclick:function(){
                        this.styleObj.color=this.styleObj.color==="black"
                        ?"red":"black";
                    }
                }
            }) //Vue编程是面向数据的编程,不会直接操作DOM元素
        </script>
    </body>
</html>

不难看出,不管是class样式还是style样式,都有两种方式,直接绑定和数组绑定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值