v-for循环空数组返回undefined

本文探讨了1.1版本和2.6版本的Vue.js在处理v-for循环空数组时的不同行为。1.1版本不返回undefined且不渲染任何内容,而2.6版本会返回undefined,并在特定情况下显示。解决2.6版本这个问题的方法是在v-for外层添加v-if和div。建议使用计算属性和filter方法来避免此类问题。
摘要由CSDN通过智能技术生成

本文章采用 1.1版本的vue.js和 2.6版本的vue.js进行解决该问题

1.1版本的vue.js

  • 1.1版本的vue.js不存在v-for循环空数组或空对象返回undefined的问题
  • 且该版本的vue.js还可以使用$index,$key

HTML代码

<div id="box">
    <ul>
        <li v-for="item in myData">{
  {item}}{
  {$index}}</li>
    </ul>
</div>

JavaScript代码

<script src="./vue-1.1/vue.js"></script>
<script>
    new Vue({
   
        el: '#box',
        data: {
   
            myData: [
                'apple',
                'banana',
                'orange'
            ]
        }
    }) 
</script>

运行结果图
在这里插入图片描述
数据数组为空时,运行结果
在这里插入图片描述
什么都没有,即 1.1版本的vue.js根本不存在v-for循环空数组或空对象返回undefined的问题

2.6版本的vue.js

  • 2.6版本的vue.js存在v-for循环空数组或空对象时,返回undefined的问题
  • 且该版本不能使用$index, $key$key返回对象的属性名)

HTML代码

<div id="box">
    <ul>
    // 1.1版本的vue.js也可以使用这种方法循环访问索引、属性名
        <li v-for="(item, key, inde
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值