vue學習備忘

vue學習備忘

vue中!!、!=、== 、!==、===判斷符號的用法等

!可將變量轉換成boolean類型,null、undefined和空字符串取反都爲false,其餘都爲true。

可以總結出來,“!”是邏輯與運算,並且可以與任何變量進行邏輯與將其轉化爲布爾值,“!!”則是邏輯與的取反運算,尤其後者在判斷類型時代碼簡潔高效,省去了多次判斷null、undefined和空字符串的冗餘代碼。

!!是將表達式強制轉化爲bool值的運算,運算結果爲true或false,表達式是什麼值,結果就是對應的bool值,不再取非

不是取非再取非的意思!!!

!!false=false;    要注意false和“false” 的區別!!!!!

!!"false"=true;

!!true=true;

!!(NaN || undefined || null || 0 || ' ')=false;

!null=true

!undefined=true
!''=true
!100=false
!'abc'=false
 

同一個dom元素綁定的兩個class優先級問題

<style>
.box1 {
    with: 100px;
    heigth: 100px;
    background-color: pink;
}
.box2 {
    with: 100px;
    heigth: 100px;
    background-color: blue;
}
 </style>
<div class="box1" v-bind:class="{box2: isActive}"></div>
<div class="box2" v-bind:class="{box1: isActive}"></div>
export default {
    data(){
        return {
            isActive: true
        } 
    },
}

在vue環境下運行後你會發現兩個盒子的顏色都是blue,因爲blue是後定義。
總之,一句話,同一個dom元素綁定的兩個class優先級問題跟定義順序有關,跟使用順序無關。
補充:當v-bind:style綁定樣式時,等同於內聯樣式,優先級最高。

vue中 class 和 :class 的使用

1,一個樣式的寫法

<div class="box" :class="isflag?'aaa':'bbb'">xxx</div>

data:{
    isflag:true,
}

或者對象形式寫法

<div class="box" :class="{'aaa':isflag==true}">xxx</div>

data:{
    isflag:true,
}

2,多個樣式的寫法 注意不能寫多個:class

<div class="box" :class="[isflag?'aaa':'',isflag2?'bbb':'']">xxx</div>

data:{
    isflag:true,
    isflag2:true,
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章