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

