首页 > 解决方案 > Vue.js - 如何在函数中使用数组进行循环

问题描述

我想在 Vue.js 函数中使用 JS 数组进行循环。

试过的代码:

视图:

computed: {
 bbb: function(){
  var vvv=this.Preused.length-this.quote.lines.length;
  let added_products=[];
  if(vvv > 0){
    for(var i = 0; i <= vvv-1; i++){
      newly_used.push({...this.Preused[this.manage.code.length+i]});
    }
  }
  return newly_used;
 }
}

HTML:

<div v-for="(cc,index) in bbb">
  <p v-text="cc[index].num"></p>
</div>

新使用的:

0:
  none: "calibry"
  des: "Silver"
  num: "numty"

通过使用上面的代码,我收到以下错误;

[Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘num’”

我该如何解决这个问题?

标签: javascriptvue.jsvuejs2vue-component

解决方案


您正在遍历newly_used从计算属性返回的属性,因此您的 v-for 应该类似于:

<div v-for="(cc,index) in bbb" :key="index">
  <p v-text="cc.num"></p>
</div>

或者

<div v-for="(cc,key,index) in bbb" :key="index">
  <p v-text="bbb[key].num"></p>
</div>

推荐阅读