亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

為什么vue中不建議使用空字符串作為className

 更新時間:2021年09月23日 16:29:00   作者:油炸皮卡丘  
本文主要介紹了為什么vue中不建議使用空字符串作為className,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

在我們用三元表達(dá)式給DOM元素設(shè)置class時,使用空字符串,會導(dǎo)致渲染出一個沒有值的空class, 為了避免這種情況出現(xiàn),可以使用null來代替空字符串。

<!-- ❌ -->
<div :class="isBold ? 'bold' : ''">
<!-- <div class> -->

<!-- ✅ -->
<div :class="isBold ? 'bold' : null">
<!-- <div> -->

比較空字符串''和null

繼續(xù)來分析上面2行代碼

情況1:使用空字符串''

我們使用三元操作符,來決定是否給元素綁定class, isBold為true時綁定,返回bold,否則,返回''

<div :class="isBold ? 'bold' : ''"></div>
data() {
  return {
    isBold: false
  }
}

這時,渲染結(jié)果如下

<div class></div>
<!-- 😱 空的class -->

如果isBold為true,渲染結(jié)果如下

<div class="bold"></div>

情況2:使用null

看看使用null的渲染結(jié)果

<div :class="isBold ? 'bold' : null"></div>

data() {
  return {
    isBold: false
  }
}

渲染結(jié)果如下

<div></div>
<!-- ✅ 很好 無空class>

如果isBold為false,渲染結(jié)果如下

<div class="bold"></div>

情況3:使用undefined

undefined和null的效果一樣

<div :class="isBold ? 'bold' : undefined"></div>

<div></div>
<!-- ✅ 很好 無空class>

關(guān)于False值

當(dāng)isBold的值為以下值時,三元表達(dá)式返回的也是假值

false
undefined
null
NaN
0
"" or '' or `` (empty string)

使用對象的形式綁定class

使用對象的形式更加可讀

<div :class="{ bold: isBold }"></div>

但三元表達(dá)式最佳的用處是在綁定復(fù)雜的class時

<div :class="isActive ? 'underline bold' : null"></div>

使用 &&綁定class

來看看另外一種情況

<div :class="isBold && 'bold'"></div>

&& 不僅是一個邏輯操作符,它同樣可以返回值,正如上面的代碼,如果isBold為真,它會返回bold,但是isBold為假的時候呢?

案例1:isBold為false

<div :class="isBold && 'bold'"></div>

這個時候回返回空class

<div class></div>

案例2:isBold為null

<div :class="isBold && 'bold'"></div>

為null時不會有空class

<div></div>

案例3:isBold為undefined

<div :class="isBold && 'bold'"></div>

為undefined時也不會有空class

<div></div>

造成上面這種情況的出現(xiàn)不是&&的問題,它只是用來做判斷并返回值而已

所以,如果我們想要使用&&時避免返回空class,最好用null或者undefined

但我更推薦大家使用對象的或者數(shù)組綁定的語法去設(shè)置class

空class就一定不對嗎?

在W#C的標(biāo)準(zhǔn)中, 空class也是可以用的

<!-- 無錯誤 -->
<div class>...</div>

<!-- 無錯誤 -->
<div>...</div>

HTML的語法用也沒要求不準(zhǔn)使用空的屬性

但是,為了代碼的可讀性,建議大家不要使用空屬性,特別是在需要操作DOM屬性做判斷時

空的屬性很容易造成難以察覺的錯誤

e.target.classList

e.className

img.src

...

但是...
空的id屬性是不被允許的

<!-- 錯誤 -->
<div id>...</div>

<!-- 錯誤 -->
<div id="">...</div>

<!-- 正確 -->
<div id="name">...</div>

❌ Error: An ID must not be the empty string.

到此這篇關(guān)于為什么vue中不建議使用空字符串作為className的文章就介紹到這了,更多相關(guān)vue 空字符串作為className內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章教你實現(xiàn)VUE多個DIV,button綁定回車事件

    一篇文章教你實現(xiàn)VUE多個DIV,button綁定回車事件

    這篇文章主要介紹了VUE多個DIV綁定回車事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-10-10
  • vue.js中toast用法及使用toast彈框的實例代碼

    vue.js中toast用法及使用toast彈框的實例代碼

    這篇文章主要介紹了vue.js中toast用法及使用toast彈框的實例代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒加載,需要的朋友可以參考下
    2018-08-08
  • Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖

    Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖

    這篇文章主要介紹了Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue中Mustache引擎插值語法使用詳解

    Vue中Mustache引擎插值語法使用詳解

    在Vue中通過Mustache模板引擎將data中的文本數(shù)據(jù)插入到HTML中,下面這篇文章主要給大家介紹了關(guān)于Vue中Mustache模板引擎插值語法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 調(diào)用createApp?時Vue工作過程原理

    調(diào)用createApp?時Vue工作過程原理

    這篇文章主要為大家介紹了調(diào)用createApp?時Vue工作過程原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • vue中el-table實現(xiàn)自動吸頂效果(支持fixed)

    vue中el-table實現(xiàn)自動吸頂效果(支持fixed)

    本文主要介紹了vue中el-table實現(xiàn)自動吸頂效果,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue項目關(guān)閉eslint校驗

    vue項目關(guān)閉eslint校驗

    eslint是一個JavaScript的校驗插件,通常用來校驗語法或代碼的書寫風(fēng)格。這篇文章主要介紹了vue項目關(guān)閉eslint校驗,需要的朋友可以參考下
    2018-03-03
  • Vue異步更新DOM及$nextTick執(zhí)行機制解讀

    Vue異步更新DOM及$nextTick執(zhí)行機制解讀

    這篇文章主要介紹了Vue異步更新DOM及$nextTick執(zhí)行機制解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue.js國際化 vue-i18n插件的使用詳解

    vue.js國際化 vue-i18n插件的使用詳解

    本篇文章主要介紹了vue.js國際化 vue-i18n插件的使用詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue3+vite2中使用svg的方法詳解(親測可用)

    vue3+vite2中使用svg的方法詳解(親測可用)

    vue2的時候使用的是字體圖標(biāo),缺點就是比較單一,到了vue3,相信瀏覽器的性能起來,所以這里記錄一下,下面這篇文章主要給大家介紹了關(guān)于vue3+vite2中使用svg的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評論