Vue v-else 指令

实例

当以上所有条件都为 'false' 时,使用 v-else 指令创建一个 <div> 元素。

  1. <p v-if="word === 'apple'">The word is 'apple'.</p>
  2. <p v-else-if="word === 'pizza'">The word is 'pizza'</p>
  3. <div v-else>
  4. <img src="/img_question.svg" alt="question mark">
  5. <p>The word is not 'apple', and it is not 'pizza'</p>
  6. </div>

定义与用法

v-else 指令用于在 if 语句中上述所有条件的计算结果均为 'false' 的情况下呈现元素。

v-else 指令只能在带有 v-ifv-else-if 的元素之后使用。

使用 v-else 切换元素时:

  • 当元素进入和离开 DOM 时,我们可以使用内置的 <Transition> 组件来设置动画。
  • 会触发生命周期钩子,如 'mounted' 和 'unmounted'。

条件呈现指令

此概述描述了用于条件呈现的不同 Vue 指令是如何一起使用的。

指令详情
v-if可以单独使用,也可以与 v-else-if ,或 v-else 一起使用。如果 v-If 内部的条件为 true,则不考虑 v-else-If 或 v-else。
v-else-if必须在 v-if 或另一个 v-else-if 之后使用。如果 v-else-If 内部的条件为 true,则不考虑后面的 v-else-If 或 v-else。
v-else如果 if 语句的第一部分为 false,则会发生此部分必须放在 if 语句的最后,在 v-if 和 v-else-if 之后。

更多实例

实例 1

当打字机计数为 0 时,使用 v-else 写 "Not in stock"(没有库存)。

  1. <p v-if="typewriterCount>3">
  2. In stock
  3. </p>
  4. <p v-else-if="typewriterCount>0">
  5. Very few left!
  6. </p>
  7. <p v-else>
  8. Not in stock
  9. </p>
实例 2

当句子中不包含 'pizza' 或 'burrito' 时,使用 v-else 显示特定文本。

  1. <div id="app">
  2. <div v-if="text.includes('pizza')">
  3. <p>The text includes the word 'pizza'</p>
  4. <img src="img_pizza.svg">
  5. </div>
  6. <div v-else-if="text.includes('burrito')">
  7. <p>The text includes the word 'burrito', but not 'pizza'</p>
  8. <img src="img_burrito.svg">
  9. </div>
  10. <p v-else>The words 'pizza' or 'burrito' are not found in the text</p>
  11. </div>
  12. <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  13. <script>
  14. const app = Vue.createApp({
  15. data() {
  16. return {
  17. text: 'I like Thai beef salad, pho soup and tagine.'
  18. }
  19. }
  20. })
  21. app.mount('#app')
  22. </script>

分类导航