Vue.js 学习笔记 七 控制样式

Vue.js可以灵活的控制样式

我们首先随便写2个样式

<style>
        .divCss {
            background-color: green;
            width:400px;
            height:400px;
        }
        .fontCss {
            font-size: large;
            color:red;
        }
    </style>

直接在元素中class="divCss"这样,是老办法了,在Vue中,可以更加灵活

<div id="appDiv" v-bind:class="{divCss:divFlag,fontCss:fontFlag}"> 
        我是Div中的文字
    </div>

    <script>
        var v = new Vue({
            el: '#appDiv',
            data: {
                divFlag: true,
                fontFlag: false
            },
            methods: {

            }
        })

    </script>

用v-bind绑定样式属性,通过类的方式,可以控制某个样式是否生效,例如这里出现的就是绿底黑字,如果把Vue实例中的data.fonFlag改成true,那就是

绿地红字了,这样的好处是,可以方便灵活的控制样式。

 

当然也可以将元素上的类当作data中的一个属性

 <div id="appDiv" >
        <div v-bind:class="{divCss:divFlag,fontCss:fontFlag}">
            我是Div1中的文字
        </div>
        <div v-bind:class="div2Css">
            我是Div2中的文字
        </div>
    </div>
    <script>
        var v = new Vue({
            el: '#appDiv',
            data: {
                divFlag: true,
                fontFlag: true,
                div2Css: { divCss: true, fontCss: false }
            },
            methods: {
            }
        })
    </script>

当然如果样式本身是固定不变,也可以用最原始的方法,Vue也提供用数组方式绑定

 <div id="appDiv">
        <div v-bind:class="{divCss:divFlag,fontCss:fontFlag}">
            我是Div1中的文字
        </div>
        <div v-bind:class="div2Css">
            我是Div2中的文字
        </div>
        <!--这里的fontCss,divCss不是样式名,是Vue实例中的data的属性名-->
        <div v-bind:class="[fontCss,divCss]">
            我是Div3中的文字
        </div>
    </div>
    <script>
        var v = new Vue({
            el: '#appDiv',
            data: {
                divFlag: true,
                fontFlag: true,
                div2Css: { divCss: true, fontCss: false },
                fontCss: 'fontCss',
                divCss: 'divCss'
            },
            methods: {
            }
        })
    </script>

 

p.s:如果不像用class绑定,用style也可以,v-bind:style=" " 就行,方法跟绑定class一样,这里就不写了。

 

上一篇

Vue.js 学习笔记 六 v-model 双向绑定数据

 

转载于:https://www.cnblogs.com/luyShare/p/11540556.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值