Vue--class和style绑定

本文介绍了在 Vue.js 中动态绑定 class 和 style 样式的三种常见方法:字符串写法、数组写法和对象写法。这些方法允许根据数据动态地改变元素的样式,如切换类名或设置 CSS 属性。示例代码展示了如何在不同场景下使用这些方法来实现动态样式效果。
摘要由CSDN通过智能技术生成

绑定class样式三种写法

绑定class样式--字符串写法  适用于:样式的类名不确定 需要动态指定

<body>
<div id="root">
    <!--绑定class样式--字符串写法  适用于:样式的类名不确定 需要动态指定-->
    <div class="basic" :class="mood" @click="changMood">{{name}}</div>
<script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
        el:'#root',
        data:{
            mood:'normal',
         
        },
        methods:{
            changMood(){
            
                this.mood = 'happy'
            }
        }
    })
</script>
</body>
绑定class样式--数组写法  适用于:要绑定的样式个数不确定 名字不确定 需要动态指定

<body>
<div id="root">
    <!--绑定class样式--数组写法  适用于:要绑定的样式个数不确定 名字不确定 需要动态指定-->
    <div class="basic" :class="arr" >{{name}}</div>
 </div>
<script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
        el:'#root',
        data:{
            arr:['at1','at2','at3'],
        
        },
        methods:{
            changMood(){
                const arr = ['happy','sad','normal']
                const index = Math.floor(Math.random()*3)
                this.mood = arr[index]
            }
        }
    })
</script>
</body>
绑定class样式--对象写法  适用于:要绑定的样式个数确定 名字确定 但要动态决定用不用

<body>
<div id="root">
    <!--绑定class样式--对象写法  适用于:要绑定的样式个数确定 名字确定 但要动态决定用不用-->
    <div class="basic" :class="classObj" >{{name}}</div><br/><br/>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
        el:'#root',
        data:{
            classObj:{
                at1:false,
                at2:false
            },
        },
        methods:{
        }
    })
</script>
</body>
</html>

绑定style样式写法

注意fontSizebackgroundColor单词写法


<body>
<div id="root">
    <!--绑定style样式--对象写法  -->
    <div class="basic" :style="{fontSize: fsize+'px'}">{{name}}</div><br/><br/>
    <div class="basic" :style="styleObj">{{name}}</div><br/><br/>
   <!--绑定style样式--数组写法  -->
    <div class="basic" :style="[styleObj,styleObj2]">{{name}}</div><br/><br/>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
        el:'#root',
        data:{
            fsize:40,
            styleObj:{
                fontSize: '40px'
            },
            styleObj2:{
                backgroundColor:'orange'
            }
        },
    })
</script>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值