Javascript 将数组中的对象推送到无限循环
我有一个在v-for循环中使用的方法。在子div中调用该方法Javascript 将数组中的对象推送到无限循环,javascript,vue.js,Javascript,Vue.js,我有一个在v-for循环中使用的方法。在子div中调用该方法 <div v-for="(item,index) in timesheetRequests"> <h6 class="card-title mt-3" :id="'req_'+index" v-if="yearMonthInsertion(item,index)">Something</h6> .
<div v-for="(item,index) in timesheetRequests">
<h6 class="card-title mt-3" :id="'req_'+index" v-if="yearMonthInsertion(item,index)">Something</h6>
.
.
.
</div>
当我移除下面提到的线,以推动数组中的对象时,错误就消失了。我只想在运行v-for循环时向数组中添加项
此.date\u元素.push(索引)
提前谢谢
v-if
不是执行此代码的正确位置,因为您不知道函数将被调用的时间和次数。您推入date\u元素
,但从未清除它,因此数组长度只会增加
您可能应该将
这个.date\u元素定义为一个计算属性,因此它总是最新的。for循环取决于此数组时间表请求中的项数,那么为什么推入不同的数组会导致无限循环呢?
yearMonthInsertion:function(item,index){
//alert("yearMonthInsertion")
var meta = item["meta"]
var last_updated_on = meta['last_updated_on']
last_updated_on = last_updated_on.replaceAll("-","/")
var requestUpdateDate = moment(last_updated_on,"YYYY/MM/DD")
var month = requestUpdateDate.format("MMMM")
var day = requestUpdateDate.format('D');
var year = requestUpdateDate.format('YYYY');
console.log("HERE...ll")
var obj = {}
obj["month"] = month
obj["status"] = true
this.date_element.push(obj)
console.log("THIS....")
console.log(this)
}