【发布时间】:2021-04-13 12:23:48
【问题描述】:
在我的组件模板中,我有以下代码:
<div
class="program-point-container"
v-for="p in programPoints"
:key="p.id"
>
<div class="mt-6 mt-sm-3 mt-md-14 mb-3 font-weight-bold font-size-16" v-if="showDate(p.startsAt)">
{{new Date(p.startsAt) | moment('DD.MM.YYYY')}} // Humboldt Carré
</div>
</div>
我的 programPoints 数组中有 23 个对象。出于调试原因,我在控制台记录了一个字符串,以查看该函数被调用了 23 * 2 次。
在这种方法中,我将数据推送到数组中。并返回 true 或 false 以显示 div 容器。但是由于它已经在“第一次”渲染时推送并返回。我不能展示那个容器。
showDate(datetime) {
const date = new Date(datetime).toDateString()
// check if date already been pushed
if(this.dates.includes(date)) {
console.log('false')
return false // date already been pushed
}
this.dates.push(date)
console.log('true')
return true
},
【问题讨论】: