vue中?根據(jù)判斷條件添加一個或多個style及class的寫法小結(jié)
vue中 根據(jù)判斷條件添加一個或多個style及class的寫法
style 寫法:
<i:style="{'color':isBling?'red':'white'}" @click=""></i>class寫法
<i :class='[show ?"class1":"class2","iconfont"]' @click="toggleVisual"></i>?
class1與class2是獨有樣式。iconfont是共有樣式
擴展:關(guān)于vue 里:class 的幾種使用方式
關(guān)于:class的使用 結(jié)合自己的實現(xiàn) 整理如下。接下來一篇寫:style 。其實從:class 這里可以想到:style的使用 也是類似的
一、class
1 自定義class 通過vue computed 計算屬性 實現(xiàn) 我的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,如果存在兩個動態(tài)class 可以如下這樣寫 注意標簽上不能寫兩個:class
< div
class="allCommon "
@contextmenu.prevent="clickSet(_module)" :class="[_module,{'takePlace':!arr.con.htmlData}]">
......
</ div >用[ ]數(shù)組的形式:
這里面_module 是我用1方法生成的,需要給我項目每個模塊的div添加上的class;takePlace 是占位的class 只有特定的模塊能添加,關(guān)于兩個動態(tài)class如何添加,最后想出 以數(shù)組的方式 可以實現(xiàn)。 代碼如上所示。
4,涉及到了樣式的動態(tài)變化,所有就想到了v-bind:class這個指令,但是按照原本的方式:
<div :class="func(state)"> //html
methods: {
func(state){
if(state===0){
return "class1";
}
else{
return "class2"
}
}
}到此這篇關(guān)于vue中 根據(jù)判斷條件添加一個或多個style,及class的寫法的文章就介紹到這了,更多相關(guān)vue根據(jù)判斷條件添加一個或多個style內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue通過過濾器實現(xiàn)數(shù)據(jù)格式化
這篇文章主要介紹了vue通過過濾器實現(xiàn)數(shù)據(jù)格式化的方法,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07

