前端培训丁鹿学堂:vue基础之v-if,v-show,v-for

130 阅读1分钟

v-if和v-show

v-show和v-if都是vue的指令。我们通过v-if或者v-show可以控制元素的显示和隐藏。

v-if可以和v-else-if,v-else一起使用进行逻辑判断

<template>
<div>
   <div v-if="num === 1">num 的值{{num}}</div>
    <div v-else-if="num === 2">num的值{{num}}</div>
    <div v-else>{{num}}</div>
</div>
</template>


<script>
  export default{
    data(){
      return {
        num:1
      }
    }
  }
</script>

v-show的使用和v-if类似

<div v-show="num === 2">33333</div>

区别:

1 v-if相当于把dom移除了,v-show相当于加了一个属性display:none,所以如果是频繁显示隐藏切换的,使用v-show可以提高性能。

2 v-if 可以在template标签上使用,v-show不可以。

v-for

语法 v-for = "(item,index) in arr" v-for必须有属性:key key的作用主要是为了高效的更新虚拟DOM,key值只能是数字或字符串,这个key属性必须是唯一的标识.

v-for多数用来遍历数组,但也可以便利对象

遍历数组:

<div v-for="(item,index) in list" :key="index">{{item}}</div>
// ....
 data(){
      return {
        num:1,
        list:['苹果','菠萝','橘子','葡萄']
      }
    }

遍历对象

<div v-for="(value,key,index) in obj" :key="index">{{key}}:{{value}}--{{index}}</div>
// ...
obj:{
          name:'zhangsan',
          age:18
        }

name:zhangsan--0
age:18--1

注意:v-if和v-for不能同时使用,因为v-if的优先级是大于v-for的。可以在v-for中嵌套v-if