VUe的绑定样式

一、class样式

写法::class="xxx" xxx可以是字符串、对象、数组。

1.字符串写法适用于:类名不确定,要动态获取。

HTML代码: 

<div class="basic" :class='mood' @click='changeMood'>{{name}}</div><br><br>

JavaScript代码: 

<script>
        Vue.config.productionTip = false
        const vm=new Vue({
            el:'#root',
            data:{
              name:'尚硅谷',
              mood:'normal',//normal为样式名
            },
            methods: {
                changeMood(){
                    const arr=['normal','happy','sad']
                    const index=Math.floor(Math.random()*3)
                    this.mood=arr[index]
                }
            },
        })
    </script>

2.。数组写法,适用于:要绑定的样式个数确定,名字也确定,但要动态决定用不用

HTML代码:

<div class="basic" :class='classArr'>{{name}}</div><br><br>

JavaScript代码: 

<script>
        Vue.config.productionTip = false
        const vm=new Vue({
            el:'#root',
            data:{
              name:'尚硅谷',
          
              classArr:['atguigu1','atguigu2','atguigu3']
              //atguigu1、2、3、为样式名
            },
        })
    </script>

3.对象写法适用于:要绑定的样式个数不确定,名字也不确定

HTML代码:

<div class="basic" :class='classObj'>{{name}}</div><br><br>

JavaScript代码: 

​
<script>
        Vue.config.productionTip = false
        const vm=new Vue({
            el:'#root',
            data:{
              name:'尚硅谷',
             
              classObj:{
                  atguigu1:false,
                  atguigu2:false
              }
            }
        })
    </script>

​

二、绑定style样式

写法:

                      :style="{fontSize:xxx}",其中xxx是动态值。

                      :style="[a,b]"其中a、b是样式对象

1.对象写法: 

HTML代码:

<div class="basic" :style="styleObj1">{{name}}</div><br><br>

JavaScript代码: 

<script>
        Vue.config.productionTip = false
        const vm=new Vue({
            el:'#root',
            data:{
              name:'尚硅谷',
              styleObj1:{
                  fontSize:'40px'
                  
              }
            }
            
        })
    </script>

2.数组写法:

HTML代码:

<div class="basic" :style="[styleObj1,styleObj2]">{{name}}</div>

JavaScript代码: 

<script>
        Vue.config.productionTip = false
        const vm=new Vue({
            el:'#root',
            data:{
              name:'尚硅谷',
              
              styleObj1:{
                  fontSize:'40px'
                  
              },
              styleObj2:{
                backgroundColor:'blue'
              }
            }
           
        })
    </script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值