萌新VueDay2——style与class的绑定

萌新Vue入门笔记day2

这是我学习Vue入门第二天在此记录
强制数据绑定

强制数据绑定

1.class绑定

1.1class直接绑定
<div id="test">
    <h2>1.class绑定</h2>
    //这里的class绑定不是a的css样式而是,data里的a,执行的是a的值(aclass的css样式)
    <p :class="a">第一个</p>
    //这样和class=“aclass”没有区别
</div>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            a : 'aclass'
        }
    })
</script>
 <style>
        .aclass{
            color:red;
        }
    </style>
1.2绑定class(:class)可以和一般的class共存
    <style>
        .aclass{
            color:red;
        }
        .fontp{
            font-size:24px;
        }
    </style>
<div id="test">
    <h2>1.class绑定</h2>
    <p class="fontp" :class="a">第二个</p>
</div>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            a : 'aclass'
        }
    })
</script>
1.3绑定class的动态判断
    <style>
        .aclass{
            color:red;
        }
        .bclass{
            color:blue;
        }

        .fontp{
            font-size:24px;
        }
    </style>
<div id="test">
    <h2>1.class绑定</h2>
    //通过这样实现动态判断使用哪个样式
    //这里像isA这样的判断,实现在data中先声明
    //特别是判断,注意别写上‘’,这样就变成字符串了
    <p :class="{ aclass: isA , bclass: isf }">第三个</p>
</div>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            a : 'aclass',
            f:'fontp',
            //注意别写上‘’,这样就变成字符串了
            isA : true,
            isf : false
        }
    })
</script>
1.4绑定class实现两种的样式重叠
<div id="test">
    <h2>1.class绑定</h2>
    <p :class=  "[a, f]">第四个</p>
</div>
1.5同时实现样式重叠和判断
<div id="test">
    <h2>1.class绑定</h2>
    //这里的f也是data里的
    <p :class="[f,{aclass: isA , bclass: isf}]">第五个</p>
</div>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            a : 'aclass',
            f:'fontp',
            //注意别写上‘’,这样就变成字符串了
            isA : true,
            isf : false
        }
    })
</script>
1.5通过按钮尝试更新

通过methods计算属性实现

<div id="test">
    <h2>1.class绑定</h2>
    <p :class="a">第一个</p>
    <p class="fontp" :class="a">第二个</p>
    <p :class="{ aclass: isA , bclass: isf }">第三个</p>
    <p :class=  "[a, f]">第四个</p>
    <p :class="[f,{aclass: isA , bclass: isf}]">第五个</p>
    <button @click="upDate">更新</button>
</div>
<script src="../js/vue.js"></script>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            a : 'aclass',
            f:'fontp',
            isA : true,
            isf : false
        },
        methods:{
            upDate(){
                this.a = 'bclass',
                this.isA = false,
                this.isf = true
            }
        }
    })
</script>

style绑定

注意style里有个{}

//注意style里有个{}
<p :style="{color: allcolor,fontSize: fontSize}">
:style="{color: allcolor,fontSize: fontSize}</p>
<button @click="upDate">更新</button>
<script src="../js/vue.js"></script>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            allcolor:'red',
            fontSize: '30px'
        },
        methods:{
            upDate(){
                this.allcolor='yellow',
                this.fontSize='12px'
            }
        }
    })
</script>

还有个更为舒适方法就是当作一个数组整体放入
注意:style里不再是{}而是[]

//注意style里不再是{}而是[]
<p :style="[json]">:style="[json]"</p>
<script src="../js/vue.js"></script>
<script>
    const vm = new Vue({
        el:'#test',
        data:{
            json:{
                color: 'red',
                fontSize: '16px'
            }
        }
    })
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值