您好,登錄后才能下訂單哦!
這篇文章主要介紹“vue怎么根據判斷條件添加一個或多個style及class”,在日常操作中,相信很多人在vue怎么根據判斷條件添加一個或多個style及class問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue怎么根據判斷條件添加一個或多個style及class”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
style 寫法:
<i: @click=""></i>
class寫法
<i :class='[show ?"class1":"class2","iconfont"]' @click="toggleVisual"></i>
class1與class2是獨有樣式。iconfont是共有樣式
關于:class的使用 結合自己的實現 整理如下。接下來一篇寫:style 。其實從:class 這里可以想到:style的使用 也是類似的
1 自定義class 通過vue computed 計算屬性 實現 我的class 是名稱+時間戳,是獨一份的,可以作為id角色使用。
html: <div :class="_module"></div>
js: data(){ return { arr:{ m_class:"", hasClass:false } } }, computed:{ _module:{ get: function () { if(this.arr.hasClass){ return this.arr.m_class }else{ return this.arr.m_class="module_"+(new Date().getTime()) } } } }
2,以三元表達式來表示class
如果存在titleSrc 就添加bgImgSet,如果不存在就沒有這個class
html: <div :class="ind.titleSrc?'bgImgSet':''"></div>
data(){ return { ind:{ titleSrc:"" } } }
3,如果存在兩個動態class 可以如下這樣寫 注意標簽上不能寫兩個:class
< div class="allCommon " @contextmenu.prevent="clickSet(_module)" :class="[_module,{'takePlace':!arr.con.htmlData}]"> ...... </ div >
用[ ]數組的形式:
這里面_module 是我用1方法生成的,需要給我項目每個模塊的div添加上的class;takePlace 是占位的class 只有特定的模塊能添加,關于兩個動態class如何添加,最后想出 以數組的方式 可以實現。 代碼如上所示。
4,涉及到了樣式的動態變化,所有就想到了v-bind:class這個指令,但是按照原本的方式:
<div :class="func(state)"> //html methods: { func(state){ if(state===0){ return "class1"; } else{ return "class2" } } }
到此,關于“vue怎么根據判斷條件添加一個或多個style及class”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。