Vue.js中的判斷主要包括v-if和v-show兩種方式。
v-if會(huì)根據(jù)條件是否滿足來(lái)決定渲染DOM節(jié)點(diǎn)還是刪除DOM節(jié)點(diǎn)。當(dāng)條件為false時(shí),節(jié)點(diǎn)會(huì)從DOM樹(shù)中移除,當(dāng)條件為true時(shí),節(jié)點(diǎn)會(huì)被加入到DOM樹(shù)中,這種方式的效率較高。
<template> <div> <div v-if="isShow">條件為true的時(shí)候渲染
v-show會(huì)根據(jù)條件是否滿足來(lái)決定是否隱藏DOM節(jié)點(diǎn),當(dāng)條件為false時(shí),節(jié)點(diǎn)會(huì)被隱藏,但不會(huì)從DOM樹(shù)中刪除。當(dāng)條件為true時(shí),節(jié)點(diǎn)會(huì)被顯示。
<template> <div> <div v-show="isShow">條件為true的時(shí)候顯示
因?yàn)関-show只是控制節(jié)點(diǎn)的顯示和隱藏,并沒(méi)有刪除節(jié)點(diǎn),所以在有大量節(jié)點(diǎn)需要被切換狀態(tài)時(shí),v-if的效率更高。但是在需要頻繁切換節(jié)點(diǎn)顯示狀態(tài)時(shí),v-show可能更適合。