【发布时间】:2020-03-11 15:30:42
【问题描述】:
我对 Vue 很陌生,遇到了一个我无法解决的问题。
我在 Vue 中有一个 for 循环。对于每次迭代,我想调用一个方法来检查属于迭代的项目是否在数组中。如果不是:我将其添加到数组中。如果它已经存在,则该方法返回 false。
对我来说似乎很简单,但是。似乎每次迭代只显示该方法的最后一个结果。
该方法本身似乎工作正常:console.log 返回正确的值。我认为不可能像我一样在每个 for 循环上调用该方法,但我不知道为什么,也不知道该怎么做。
Vue 代码
<div v-for="item in this.assertions" v-bind:key="item.assertion">
<div v-if="showHeader(item.categoryName)">Some text or containers</div>
</div>
Vue方法
showHeader(category) {
if (this.shownHeaders.indexOf(category) === -1) {
this.shownHeaders.push(category);
return true;
}
return false;
},
数据属性
shownHeaders: []
我真的很想了解它是如何工作的!
编辑: 让我稍微调整一下我的主要问题:是否可以在 for 循环中的每次迭代中调用一个方法并让该方法(每次)返回 true 或 false? 如果有,怎么做?
【问题讨论】:
标签: vue.js vuejs2 vue-component v-for