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,
}

 

posted @ 2023-04-13 14:42  甘林梦  阅读(18)  评论(0编辑  收藏  举报