關(guān)于vuejs中v-if和v-show的區(qū)別及v-show不起作用問(wèn)題
1.官網(wǎng)概念描述
v-if 是'真正的'條件渲染,因?yàn)樗鼤?huì)確保在切換過(guò)程中條件塊內(nèi)的事件監(jiān)聽(tīng)器和子組件適當(dāng)?shù)乇讳N毀和重建.
v-if 也是惰性的,如果在初始渲染時(shí)條件為假,那么什么都不做- - 直到條件第一次為真的時(shí)候才會(huì)開(kāi)始渲染條件塊,相比之下,v-show就簡(jiǎn)單得多- - 不管初始條件是什么,元素總會(huì)被渲染,并且只是簡(jiǎn)單的基于css進(jìn)行切換.
一般來(lái)說(shuō),v-if 有更高的切換開(kāi)銷,而 v-show 有更高的出事渲染開(kāi)銷.因此,如果需要非常頻繁的切換,那么使用v-show好一點(diǎn);如果在運(yùn)行時(shí)條件不太可能改變,則使用v-if 好點(diǎn).
2.實(shí)踐結(jié)果
摘錄: 如果用v-if的話,整個(gè)dom結(jié)構(gòu)壓根就不會(huì)出現(xiàn)在頁(yè)面上,如果是用v-show的話,要視后面的條件來(lái)定,如果是true,則顯示,如果為false,則加上style=”display:none
”. 所以呢,如果是組件之類的大塊頭,個(gè)人覺(jué)得用v-if更好一些,如果是一些暫時(shí)性隱藏,一會(huì)要顯示的,還是v-show更方便。對(duì)于v-style和v-show來(lái)比較,v-show相當(dāng)于是v-style=”display:none”
和v-style=”display:block
”的快捷方式。
1. v-show不起作用問(wèn)題
最近在用vue_element-ui
開(kāi)發(fā)多頁(yè)面應(yīng)用,其中遇到v-show
不起作用問(wèn)題.
a.問(wèn)題描述,如下圖(預(yù)想達(dá)到的效果),其中表格數(shù)據(jù)是動(dòng)態(tài)變化的,包括標(biāo)題也會(huì)根據(jù)后臺(tái)數(shù)據(jù)發(fā)生改變,如果后臺(tái)返回的標(biāo)題為空,那么就不顯示該列的內(nèi)容.反之則顯示該列的所有數(shù)據(jù).
部分代碼如下:
執(zhí)行上圖出現(xiàn)的效果圖如下:
那么就會(huì)出現(xiàn)上圖的效果,也就是v-show沒(méi)能隱藏標(biāo)題值為null的那列數(shù)據(jù)
b.解決方法:
將v-show改為v-if即可實(shí)現(xiàn)圖一中的效果.
c.總結(jié)(個(gè)人見(jiàn)解):
由于el-table-column會(huì)生成多行標(biāo)簽元素,根據(jù)v-show是不支持template語(yǔ)法的,推斷出v-show不能顯示隱藏多個(gè)元素?不知是否
可以這樣理解,望大神告知!所以這種情況下只能用v-if來(lái)實(shí)現(xiàn).
另外補(bǔ)充,在渲染多個(gè)元素時(shí)候可以把一個(gè)<template>
元素作為包裝元素,并在上面使用v-if進(jìn)行條件判斷,最終的渲染并不會(huì)包含這個(gè)元素.同時(shí),v-show
不支持<template>
語(yǔ)法.
總結(jié)
以上所述是小編給大家介紹的關(guān)于vuejs中v-if和v-show的區(qū)別及v-show不起作用問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
django中使用vue.js的要點(diǎn)總結(jié)
在本篇文章里小編給各位整理了關(guān)于django中使用vue.js需要注意的地方以及相關(guān)知識(shí)點(diǎn),需要的朋友們跟著學(xué)習(xí)參考下。2019-07-07WebStorm無(wú)法正確識(shí)別Vue3組合式API的解決方案
這篇文章主要介紹了WebStorm無(wú)法正確識(shí)別Vue3組合式API的解決方案,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-02-02vue實(shí)現(xiàn)商品加減計(jì)算總價(jià)的實(shí)例代碼
這篇文章主要介紹了vue實(shí)現(xiàn)商品加減計(jì)算總價(jià)的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Vue2?中的數(shù)據(jù)劫持簡(jiǎn)寫(xiě)示例
這篇文章主要為大家介紹了Vue2?中的數(shù)據(jù)劫持簡(jiǎn)寫(xiě)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02詳解vite2.0配置學(xué)習(xí)(typescript版本)
這篇文章主要介紹了詳解vite2.0配置學(xué)習(xí)(typescript版本),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02vite多頁(yè)面配置項(xiàng)目實(shí)戰(zhàn)
vite官方文檔中有關(guān)于多頁(yè)面應(yīng)用模式如果配置的說(shuō)明,下面這篇文章主要給大家介紹了關(guān)于vite多頁(yè)面配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04