在Vue中添加條件可以使用v-if、v-else-if、v-else指令來實(shí)現(xiàn)。
其中v-if指令用于根據(jù)條件將元素添加到DOM中,當(dāng)表達(dá)式的值為true時(shí),元素將被添加到DOM中;當(dāng)表達(dá)式的值為false時(shí),元素將被從DOM中移除。例如:
<div v-if="isShow"> 這個(gè)元素將會(huì)被添加到DOM中 </div>
在上面的例子中,只有當(dāng)isShow的值為true時(shí),這個(gè)元素才會(huì)被添加到DOM中。
v-else-if指令用于添加一個(gè)新的條件,當(dāng)上一個(gè)條件為false時(shí),嘗試下一個(gè)條件。例如:
<div v-if="isShow"> 這個(gè)元素將會(huì)被添加到DOM中 </div> <div v-else-if="isHidden"> 這個(gè)元素將會(huì)在上面的元素添加后再添加到DOM中 </div>
在上面的例子中,當(dāng)isShow的值為false時(shí),會(huì)檢查isHidden的值,如果為true,那么第二個(gè)元素將被添加到DOM中。
v-else指令用于添加一個(gè)默認(rèn)的條件,當(dāng)前面的條件都為false時(shí),這個(gè)條件將被應(yīng)用。例如:
<div v-if="isShow"> 這個(gè)元素將會(huì)被添加到DOM中 </div> <div v-else-if="isHidden"> 這個(gè)元素將會(huì)在上面的元素添加后再添加到DOM中 </div> <div v-else> 這個(gè)元素將會(huì)在前面的元素都不符合條件時(shí)添加到DOM中 </div>
在上面的例子中,如果isShow和isHidden都為false,那么第三個(gè)元素將會(huì)被添加到DOM中。
除了v-if、v-else-if、v-else指令,Vue還提供了v-show指令,v-show指令根據(jù)條件來顯示或隱藏元素,但是不會(huì)從DOM中移除元素。例如:
<div v-show="isShow"> 這個(gè)元素將根據(jù)條件被顯示或隱藏 </div>
在上面的例子中,當(dāng)isShow的值為true時(shí),這個(gè)元素將被顯示,當(dāng)isShow的值為false時(shí),這個(gè)元素將被隱藏。
需要注意的是,v-if和v-show的用法是不同的,v-if會(huì)在元素移除時(shí)銷毀這個(gè)元素以及它的事件與監(jiān)聽器等,而v-show不會(huì)。