最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中的v-if和v-show的區(qū)別詳解

 更新時間:2019年09月01日 11:47:09   作者:有夢想的咸魚前端  
這篇文章主要介紹了vue中的v-if和v-show的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

v-if和v-show的區(qū)別是前端面試中常問的基礎(chǔ)知識點(diǎn),v-if、v-show顧名思義就是用來判斷視圖層展示效果的。那么具體是怎么展示呢?v-if和v-show的區(qū)別又是什么呢?

首先我們可以來看一下Vue中文社區(qū)說明文檔的介紹:

Vue中文社區(qū)說明文檔中簡單來說是:初始渲染的時候進(jìn)行條件判斷展示;

在實(shí)際開發(fā)中我們會經(jīng)常使用到v-if和v-show來進(jìn)行判斷展示,我們可以這么理解:

<div class="tc" v-if="pload && list.length<1" >
  <img src="../assets/img/mall_none_order.png" />
</div>

上面的實(shí)例中,v-if的作用是通過pload和list.length是否<1來判斷這個div是否展示,因?yàn)槭遣⑶谊P(guān)系,只有當(dāng)pload和list.length<1兩個成立都成立的時候這個div和里面的img才展示和生效,

反之如果判斷條件不成立的時候,v-if則不會展示;

<div class="tc" v-show="pload && list.length<1" >
  <img src="../assets/img/mall_none_order.png" />
</div>

上面的案例代碼我們其實(shí)也可以換成v-show來進(jìn)行判斷,視覺效果也是一樣的;注意: 只是視覺效果是一樣的,兩者之間不是等于的關(guān)系(后面來進(jìn)行分析);用v-show來判斷條件pload為真并且list.length<!的時候才成立,div和div里面的img標(biāo)簽才生效;

上面說到v-if和v-show都能實(shí)現(xiàn)根據(jù)判斷條件進(jìn)行展示的效果,但是這不代表這兩者是等于的關(guān)系;僅僅只是視覺效果相同而已,下面我們來講講v-if和v-show的區(qū)別及注意事項(xiàng):

使用v-if,我們可以注意到瀏覽器并沒有渲染到元素class為tc的div,這是由于v-if只有當(dāng)判斷條件為真時,瀏覽器才會生成標(biāo)簽并在瀏覽中渲染,反之判斷條件為假時,瀏覽器將不會生成標(biāo)簽更不會渲染。

那么我們可以想想,在條件為假的時候?yàn)g覽器不生成標(biāo)簽不渲染,條件為真的時候?yàn)g覽器才渲染,這樣是不是很消耗頁面性能呢?

假如我們的判斷條件不只有一種場景而是有多種場景呢?那么這時怎么辦呢?Vue給我們提供了v-else指令,v-else是v-if的專屬指令,v-else只能和v-if一起連用;

如果我們使用v-show進(jìn)行判斷渲染,則div標(biāo)簽和里面的img是會生成并渲染的,但是我們注意到瀏覽器在我們的內(nèi)聯(lián)樣式中添加了display:none屬性,所以實(shí)質(zhì)上v-show標(biāo)簽是存在的,只是瀏覽器幫我們隱藏了而已;實(shí)際上瀏覽器只是根據(jù)判斷條件在更改內(nèi)聯(lián)樣式,條件為真的時候內(nèi)聯(lián)樣式display:block;條件為假的時候內(nèi)聯(lián)樣式更改為display:none; v-show實(shí)際上比v-if的性能更高,因?yàn)関-show只是動態(tài)的更改樣式而不需要增刪DOM元素,但是遇到多種情況分支判斷的時候v-show是不能和v-else連用的,碰到這種場景使用v-show的處理辦法就是重新再用v-show寫另外的邏輯判斷;

總結(jié):

(1)、v-if和v-show用于視圖層進(jìn)行條件判斷視圖展示

(2)、v-if的原理是根據(jù)判斷條件來動態(tài)的進(jìn)行增刪DOM元素,v-show是根據(jù)判斷條件來動態(tài)的進(jìn)行顯示和隱藏元素,頻繁的進(jìn)行增刪DOM操作會影響頁面加載速度和性能,由此我們可以得出結(jié)論:

當(dāng)您的項(xiàng)目程序不是很大的時候,v-if和v-show都可以用來進(jìn)行判斷展示和隱藏(這種場景使用v-if只是影響不大,并不是沒有影響);

當(dāng)您的項(xiàng)目程序比較大的時候,不推薦使用v-if來進(jìn)行判斷展示和隱藏,推薦使用v-show;

 (3)、只有v-if能和v-else連用進(jìn)行分支判斷,v-show是不能和v-else連用的,如果出現(xiàn)多種條件場景的情況下,可以使用v-if來進(jìn)行判斷

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3 template轉(zhuǎn)為render函數(shù)過程詳解

    vue3 template轉(zhuǎn)為render函數(shù)過程詳解

    在 Vue 中,template 模板是我們編寫組件的主要方式之一,而 Vue 內(nèi)部會將這些模板轉(zhuǎn)換為 render 函數(shù),render 函數(shù)是用于創(chuàng)建虛擬 DOM 的函數(shù),通過它,Vue 能夠高效地追蹤 DOM 的變化并進(jìn)行更新,下面我會通俗易懂地詳細(xì)解釋 Vue 如何將 template 轉(zhuǎn)換為 render 函數(shù)
    2024-10-10
  • 詳解vue 在移動端體驗(yàn)上的優(yōu)化解決方案

    詳解vue 在移動端體驗(yàn)上的優(yōu)化解決方案

    這篇文章主要介紹了vue 在移動端體驗(yàn)上的優(yōu)化解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue3 組件間通信之mitt實(shí)現(xiàn)任意組件間通信的步驟

    Vue3 組件間通信之mitt實(shí)現(xiàn)任意組件間通信的步驟

    mitt 主要有4個API:emit(觸發(fā)某個事件)、on(綁定事件)、off(解綁某個事件)、all(獲取所有綁定的事件),這篇文章主要介紹了Vue3 組件間通信之mitt實(shí)現(xiàn)任意組件間通信,需要的朋友可以參考下
    2024-05-05
  • 詳解Vue.js組件可復(fù)用性的混合(mixin)方式和自定義指令

    詳解Vue.js組件可復(fù)用性的混合(mixin)方式和自定義指令

    本篇文章主要介紹了詳解Vue.js組件可復(fù)用性的混合(mixin)方式和自定義指令,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳)

    vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳)

    這篇文章主要介紹了vue+flask實(shí)現(xiàn)視頻合成功能(拖拽上傳),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Vue封裝一個Tabbar組件?帶組件路由跳轉(zhuǎn)方式

    Vue封裝一個Tabbar組件?帶組件路由跳轉(zhuǎn)方式

    這篇文章主要介紹了Vue封裝一個Tabbar組件?帶組件路由跳轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue單頁開發(fā)父子組件傳值思路詳解

    vue單頁開發(fā)父子組件傳值思路詳解

    這篇文章主要介紹了vue單頁開發(fā)父子組件傳值思路詳解,本文是小編抽空整理的思路,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • vue中的el-form表單rule校驗(yàn)問題(特殊字符、中文、數(shù)字等)

    vue中的el-form表單rule校驗(yàn)問題(特殊字符、中文、數(shù)字等)

    這篇文章主要介紹了vue中的el-form表單rule校驗(yàn)問題(特殊字符、中文、數(shù)字等),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中路由參數(shù)傳遞可能會遇到的坑

    vue中路由參數(shù)傳遞可能會遇到的坑

    這篇文章主要給大家介紹了關(guān)于vue中路由參數(shù)傳遞遇到的坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)

    Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù)

    這篇文章主要介紹了Vue中的父子組件通訊以及使用sync同步父子組件數(shù)據(jù),對vue感興趣的同學(xué),可以參考下
    2021-04-04

最新評論

清远市| 巨野县| 彭山县| 咸宁市| 南汇区| 德安县| 庆云县| 固原市| 石河子市| 靖江市| 章丘市| 偃师市| 贡嘎县| 定兴县| 大安市| 调兵山市| 宁明县| 张家界市| 宜章县| 徐州市| 宜兰县| 天等县| 休宁县| 阜新市| 昌宁县| 平和县| 精河县| 常宁市| 滁州市| 西畴县| 界首市| 聂荣县| 奈曼旗| 德阳市| 北京市| 驻马店市| 许昌县| 南京市| 柳江县| 泉州市| 白玉县|