v-if 指令用于条件性地渲染一块内容
这块内容只会在指令的表达式返回 truthy 值的时候被渲染
使用 v-else 指令来表示 v-if 的“else 块”

在 JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为真的值 所有值都是真值,除非它们被定义为 假值(即除 false、0、””、null、undefined 和 NaN 以外皆为真值)

  1. <template>
  2. <view>
  3. <view v-if="seen">现在你看到我了</view> ***********v-if***************
  4. <view v-else>你看不到我了</view> ***********v-else***************
  5. </view>
  6. </template>
  7. <script>
  8. export default {
  9. data() {
  10. return {
  11. seen: true
  12. }
  13. }
  14. }
  15. </script>

v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用:

  1. <template>
  2. <view>
  3. <view v-if="type === 'A'">
  4. A
  5. </view>
  6. <view v-else-if="type === 'B'">
  7. B
  8. </view>
  9. <view v-else-if="type === 'C'">
  10. C
  11. </view>
  12. <view v-else>
  13. Not A/B/C
  14. </view>
  15. </view>
  16. </template>
  17. <script>
  18. export default {
  19. data() {
  20. return {
  21. type:'B'
  22. }
  23. }
  24. }
  25. </script>

类似于 v-elsev-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。

例子:

既然是做判断,首先要有一个条件

  1. <template>
  2. <!-- v-if v-show的区别,前者是否会在dom中被移除,后者display:none -->
  3. <view v-if="isShow">
  4. now you see me
  5. </view>
  6. <view v-else>
  7. now you can't see me
  8. </view>
  9. <view v-show="isShow">
  10. now you see me
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. isShow:true
  18. }
  19. },
  20. methods: {
  21. }
  22. }
  23. </script>
  24. <style>
  25. </style>