>
v-if
="isshow"
>
v-if,isshow為true時p
>
div>
>
newvue(}
);script
>
結果如下:
改變isshow的值之後,就會發生變化。
用於表達v-if的else部分。
>
v-if
="isshow"
>
v-if,isshow為true時
>
1p>
>
2p>
h4>
v-else
>
v-else部分
h4>
div>
>
newvue(}
);script
>
結果如下:
v-else部分沒有被渲染出來。
若改變isshow的值,則如下圖。
v-else 元素必須緊跟在帶 v-if 或者 v-else-if 的元素的後面,否則它將不會被識別
2.1.0 新增
>
v-if
="age<=18"
>
未成年人!
h4>
v-else-if
="age<45"
>
成年了,但小於45歲!
h4>
v-else
>
你大於等於45歲!
h4>
div>
>
newvue(}
);script
>
結果如下圖:
v-else
元素必須緊跟在帶v-if
或者v-else-if
的元素的後面,否則它將不會被識別。
vue 會盡可能高效地渲染元素,通常會復用已有元素而不是從頭開始渲染。這麼做除了使 vue變得非常快之外,還有其它一些好處。(涉及vue虛擬dom內容,這裡先不詳細講)
不過據此,當使用v-if
時,可以通過key
來控制是否重新渲染。若二者
key
不同,就會重新渲染,而非復用。如下**段,兩個
是否重新渲染,可以由
key
控制。
v-if
="logintype === 'username'
">
>
usernamelabel
>
placeholder
="username"
key="ab"
>
template
>
v-else
>
>
emaillabel
>
placeholder
="email"
key="aa"
>
template
>
根據條件展示元素,與v-if類似。
v-show
="ok"
>
hello!h1
>
不同的是帶有v-show
的元素始終會被渲染並保留在 dom 中。v-show
只是簡單地切換元素的 css property display。
注意,v-show
不支援元素,也不支援
v-else
。
v-if
v-if
是「真正」的條件渲染,因為它會確保在切換過程中條件塊內的事件***和子元件適當地被銷毀和重建。
條件為false時,v-if
什麼都不會做,其元素不會出現在dom中。
v-show
不管初始條件是什麼,元素總是會被渲染,並且只是簡單地基於 css 進行切換。
只是增加了乙個行內樣式dispaly:none
。選擇
一般來說,v-if 有更高的切換開銷,而 v-show 有更高的初始渲染開銷。
如果需要非常頻繁地切換,則使用 v-show 較好;
如果在執行時條件很少改變,則使用 v-if 較好。
vue中v if條件渲染
1.判斷後台返回的值是檢測中止 或出具報告的時候 讓更改狀態按鈕消失 已發樣等待收樣 支付完成等待發樣 出現取消專案 html部分 v for yong,index in yonghu key index class person box class person one span div clas...
Vue條件渲染(v if和v show的區別)
在專案中我們總是用到根據某一值判斷屬性是否顯示,或不同的值讓其顯示不同,顧名思義總是用v if來實現,v show也可用來判斷是否顯示,兩者有什麼區別呢?相同點 兩者都可用作為條件判斷元素是否顯示。不同點 1 v if後可跟v else if和v else用來進行不同條件下的顯示元件的不同可能性,v...
Vue中列表渲染指令中key屬性的理解
在官網中看到v for指令中key這一塊時,對其感覺懵懵懂懂,查閱了一些資料,把自己的理解記錄下來,做乙個心得,不知道理解的對不對,希望有大牛指導。vue在更新v for指令渲染過的html時,採用的是就地復用策略,也就是已有的html元素不在重新渲染,直接更新部分資料,這對簡單的html來說沒有影...