區(qū)別:
v-if
是“真正”的條件渲染疮跑,因?yàn)樗鼤?huì)確保在切換過(guò)程中條件塊內(nèi)的事件監(jiān)聽(tīng)器和子組件適當(dāng)?shù)乇讳N毀和重建。v-if
也是惰性的:如果在初始渲染時(shí)條件為假丸边,則什么也不做——直到條件第一次變?yōu)檎鏁r(shí)叠必,才會(huì)開始渲染條件塊。相比之下妹窖,
v-show
就簡(jiǎn)單得多——不管初始條件是什么纬朝,元素總是會(huì)被渲染,并且只是簡(jiǎn)單地基于CSS進(jìn)行切換骄呼。
使用場(chǎng)景
v-if
有更高的切換開銷共苛,而v-show
有更高的初始渲染開銷。
如果需要非常頻繁地切換蜓萄,則使用 v-show
較好隅茎;
如果在運(yùn)行時(shí)條件很少改變并且需要更好的優(yōu)化,則使用 v-if
較好绕德。