vue基础_4.条件渲染与列表渲染

1.条件渲染(v-if与v-show)

上节已经展示过 v-show 与 v-if 和 v-else 的用例,这里再添加一个条件判断 v-else-if(相当于 if( ) ,else if( ),else 只不过是在前面加了个 v- 而已)

<body>
    <div id="app">

      <p v-if="count==1">count==1时显示</p>
      <p v-else-if="count==2">count==2时显示</p>
      <p v-else-if="count==3">count==3时显示</p>
      <p v-else>count为其他数字时显示</p>
      
    </div>

    <script>
        var vm=new Vue({    
           el:"#app",  
           data:{

             count:2

            },
        })
    </script>
</body>

网页显示结果:
在这里插入图片描述

1.2 v-if 与v-show都有隐藏元素的作用,那开发的时候采用哪个更好呢?

v-if 是惰性的,只有当它条件满足才被创建并渲染。而 v-show 不管条件满不满足开始都会被创建渲染,只是被display隐藏起来了而已。总之 元素需要频繁切换就用v-show ,反之就用 v-if

2.列表渲染(v-for)

语法:v-for="被迭代数组元素别名 in 源数据数组名 " :key="被迭代数组元素唯一标识名"
也可以:v-for="(被迭代数组元素别名 , 数组迭代的下标) in 源数据数组名 " :key="被迭代数组元素唯一标识名"
也可以遍历一个对象:v-for=" 对象的值 in 对象 "
或者提供键名:v-for=" (对象的值 , 键名) in 对象 "
或者提供索引:v-for=" (对象的值 , 键名,索引别名) in 对象 "

例:

<body>
    <div id="app">

        <div>---遍历一般数组-----------------------------------</div>
        <span v-for="item in items1" :key="item">
            {{item}}</span>

        <div>---遍历数组对象(常用)---------------------------</div>
        <div v-for="item in items2" :key="item.id">
            <span>id:{{item.id}}</span>
            <span>name:{{item.name}}</span>
        </div>

        <div>---遍历对象--------------------------------------</div>
        <div v-for="(value,name) in items3">
            {{name}}{{value}}
        </div>

        <div>---遍历二维数组----------------------------------</div>
        <div v-for="(item,index) in items4" :key="index">
            <span v-for="(it,index) in item" :key="index">
                {{it}}
            </span>
        </div>
    </div>

    <script>
        var vm=new Vue({    
           el:"#app",  
           data:{

             items1:[1,2,3,4,5], //普通一维数组

             items2:[        //数组对象
                 {
                     id:"1212",
                     name:"张三",
                 },
                 {
                     id:"3434",
                     name:"李四",
                 }
             ],

             items3:{   //对象
                  name:"王某某",
                  age:21,
                  phone:"13224521209"
              },

             items4:[     //二维数组
                 [1,2,3,4],
                 ['a','b','c','d']
             ]

            },
        })
    </script>
</body>

网页显示结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值