我有一个VueJS计算函数,我想用它来控制某个东西是否显示在页面上。我遇到了问题,我希望它能在
return
但它仍在继续,永远无法维持
return true
vue页面上的HTML元素:
<div v-if="infoExists">Some Stuff Here</div>
我有一个功能
infoExists
那个
-
循环通过父对象中的所有特定对象集
-
检查对象中是否存在某些信息(最终它应该测试它是否===某个值,但即使它刚刚存在,我也有问题,所以我会先解决这个问题)
预期功能:
-
如果对象中的任何一项具有
item.info
-
如果具有的单个项停止迭代for循环
item.info
被找到,并简单地返回
true
在页面加载期间
实际不需要的行为:
-
正确地遍历集合中的所有项
-
当项目具有
item.info
正确地
-
在其余项目中继续迭代
-
即使对象中的每个项都有
item.info
-
如果我设置
return false
在循环之外的末尾,它总是返回false
infoExists() {
console.log('infoExists') // always prints correctly
Object.values(this.set.items).forEach( (item) => {
console.log(item) // logs correct item, keeps printing items even after an item containing item.info is passed previously
if (item.info) {
console.log('has info') // correctly logs when has info
return true; // expect for the loop to break here and for the function to return true
}
} );
// return false; // if this is uncommented, it always returns false
},
我如何简单地做到:
-
检查是否有
item
有
item.info
-
如果是,返回
真的
-
如果没有
项目
有
item.info
回来
false