Vue中v if和v show區別總結

2021-10-06 02:50:57 字數 2107 閱讀 2304

一、v-if和v-show的異同點:

1.相同點v-ifv-show都可以動態控制dom元素的顯示隱藏。

2.不同點v-if是動態地向dom樹中新增或刪除dom元素節點;v-show是通過向dom元素設定樣式display屬性值控制顯示隱藏。

二、v-if和v-show特性總結

1.編譯方面:按控制手段和官方文獻可知,v-if是惰性的,若最初指令值為false,它是不會編譯的,直至指令值為true才開始區域性編譯存入快取;v-show不管最初指令值為真假都會馬上編譯存入快取,保留dom。

2.消耗方面:v-if切換效能消耗較大;v-show最初渲染消耗較大。

3.適用場景:v-if適用切換條件、專案需求穩定;v-show適用頻繁需要切換。

4.語法方面:v-if可與v-else、v-else-if配合使用進行判斷執行,但一定需要相鄰,不可中斷;v-show無特殊語法。

class

="darkboxs"

v-show

="sendflag"

>

class

="main"

>

class

="top1"

>

>

選擇傳送範圍span

>

class

="el-icon-close right"

@click

="sendflag = false"

>

i>

div>

class

="maintree"

>

placeholder

="搜尋要傳送的部門"

v-model

="filtertext"

size

="mini"

style

="width

: 50%;

" >

el-input

>

class

="flex_bu"

>

class

="left"

>

class

="choose_all"

>

>

選擇範圍span

>

type

="text"

style

="padding

: 0;

">

全選el-button

>

div>

style

="height

: 350px;

">

class

="filter-tree"

style

="width

: 50%;

" :data

="treelist"

:props

="defaultprops"

default-expand-all

:filter-node-method

="filternode"

@node-click

="handlenodeclick"

ref="tree"

>

el-tree

>

el-scrollbar

>

div>

這是乙個彈窗,彈窗我是控制顯示或隱藏的,之前用的v-if。彈窗中的富文字編輯器不顯示,使用v-show就顯示了,故此查了筆記,記錄下

vue中v if和v show的區別

v if 是根據條件來判斷是否要渲染該元素。而 v show是已經渲染了該元素用css來決定他顯不顯示。看起來似乎是v if比較好一點。但是作為元素間的切換的話。v if有較高的切換開銷。所以當如果你的頁面元素要經常切換的話用v show會比較好。當不需要經常切換的時候,這種情況就用v if比較好。...

vue中v if和v show的區別

相同點 v if與v show都可以動態控制dom元素顯示隱藏 不同點 v if顯示隱藏是將dom元素整個新增或刪除,而v show隱藏則是為該元素新增css display none,dom元素還在。需要注意的是,當乙個元素預設在css中加了display none屬性,這時通過if show修改...

vue中v show和v if的區別

v show seen hello,you see me div v if seen hello,you see me div var seen true var seen false script 上述 中v show和v if都可以實現相同的功能,但是v show在任何情況下,都會被渲染並且保留...