欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在vue中對(duì)class進(jìn)行綁定-創(chuàng)新互聯(lián)

怎么在vue中對(duì)class進(jìn)行綁定?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

閬中網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司

一、對(duì)象語(yǔ)法

1、給v-bind:class 設(shè)置一個(gè)對(duì)象,可以動(dòng)態(tài)地切換class,例如:

<div id="app">
  <div :class="{'active':isActive}"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    isActive:true
  }
})
</script>

最終渲染結(jié)果:

<div class="active"></div>

2、對(duì)象中也可以傳入多個(gè)屬性,來(lái)動(dòng)態(tài)切換class。另外,:class可以與普通class共存,例如:

<div id="app">
  <div class="static" :class="{'active':isActive,'error':isError}"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    isActive:true,
    isError:false
  }
})
</script>

最終渲染結(jié)果(當(dāng)數(shù)據(jù)isActive或isError變化時(shí),對(duì)應(yīng)的class也會(huì)更新):

<div class="static active"></div>

3、當(dāng):class的表達(dá)式過(guò)長(zhǎng)或邏輯復(fù)雜時(shí),還可以綁定一個(gè)計(jì)算屬性,這是一種友好和常見的用法,一般當(dāng)條件多于兩個(gè)時(shí),都可以使用data或者computed,例如:

<div id="app">
  <div :class="classes"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    isActive:true,
    isError:null
  },
  computed:{
    classes(){
      return {
        active:this.isActive && !this.error,
        'text-fail':this.error && this.error.type ==='fail'
      }
    }
  }
})
</script>

除了計(jì)算屬性,也可以直接綁定一個(gè)Object類型的數(shù)據(jù),或者使用類似計(jì)算屬性的methods.

二、數(shù)組語(yǔ)法

1、當(dāng)需要應(yīng)用多個(gè)class時(shí),可以使用數(shù)組語(yǔ)法,給:class綁定一個(gè)數(shù)組,應(yīng)用一個(gè)class列表:

<div id="app">
  <div :class="[atvieCls,errorCls]"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    atvieCls:'active',
    errorCls:'error'
  }
})
</script>

渲染后的結(jié)果為:

<div class="active error"></div>

2、使用三元表達(dá)式,根據(jù)條件切換class(當(dāng)數(shù)據(jù)isActive為真時(shí),樣式active才會(huì)被應(yīng)用):

<div id="app">
  <div :class="[isActive ? activeCls : '',errorCls]"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    isActive:true,
    atvieCls:'active',
    errorCls:'error'
  }
})
</script>

渲染后的結(jié)果為:

<div class="active error"></div>

3、class有多個(gè)條件時(shí),這樣寫較為煩瑣,可以在數(shù)組語(yǔ)法中使用對(duì)象語(yǔ)法:

<div id="app">
  <div :class="[{'active':isActive},errorCls]"></div>
</div>
<script>
var app = new Vue({
  el:'#app',
  data:{
    isActive:true,
    errorCls:'error'
  }
})
</script>

4、與對(duì)象語(yǔ)法一樣,也可以使用data、computed、method三種方法,以計(jì)算屬性為例:

<div id="app">
  <button :class="classes"></button>
</div>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      size: 'large',
      disabled: true
    },
    computed: {
      classes: function () {
        return [
          'btn',
          {
            ['btn-'+this.size]: this.size!=='',
            ['btn-disabled']: this.disabled,
          }
        ]
      }
    }
  })
</script>

渲染后的結(jié)果為:

<div class="btn btn-large btn-disabled"></div>

以上,樣式btn會(huì)始終應(yīng)用,當(dāng)數(shù)據(jù)size不為空時(shí),會(huì)應(yīng)用樣式前綴btn-,后加size的值;當(dāng)數(shù)據(jù)disabled為真時(shí),會(huì)應(yīng)用樣式btn-disabled.

使用計(jì)算屬性給元素動(dòng)態(tài)設(shè)置類名,在業(yè)務(wù)中經(jīng)常用到,尤其是在寫復(fù)用的組件時(shí),所以在開發(fā)過(guò)程中,如果表達(dá)式較長(zhǎng)或邏輯復(fù)雜,應(yīng)該盡可能優(yōu)先使用計(jì)算屬性。

三、在組件上使用

 如果直接在自定義組件上使用class或:class,樣式規(guī)則會(huì)直接應(yīng)用到這個(gè)組件的根元素上,例如聲明一個(gè)簡(jiǎn)單的組件:

<script>
  Vue.component('my-component', {
    template: '<p class="article">一些文本</p>'
  })
</script>

然后在調(diào)用該組件時(shí),使用對(duì)象語(yǔ)法或數(shù)組語(yǔ)法給組件綁定class,以對(duì)象語(yǔ)法為例:

<div id="app">
  <my-component :class="'active':isActive"></my-component>
</div>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      isActive: true
    }
  })
</script>

最終組件渲染后的結(jié)果為:

<p class="article active">一些文本</p>

這種方法僅適用于自定義組件的最外層是一個(gè)根元素,否則會(huì)無(wú)效,當(dāng)不滿足這種條件或需要給具體的子元素設(shè)置類名時(shí),應(yīng)當(dāng)使用組件的 props 來(lái)傳遞。

關(guān)于怎么在vue中對(duì)class進(jìn)行綁定問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

名稱欄目:怎么在vue中對(duì)class進(jìn)行綁定-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://chinadenli.net/article12/decidc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)域名注冊(cè)外貿(mào)網(wǎng)站建設(shè)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)