vue.js - Vue.js 条件:如果包含
问题描述
我需要在 Vue 中创建条件来检查数组是否包含值。
items: { [1,5,8,12,63]}
<div v-for="item in items">
<div v-if="item == 1">
Yes
</div>
<div v-else>
No
</div>
</div>
输出是: Yes, No, No, No, No 。
我只需要一次是和否。我需要:
是的,没有。
解决方案
v-for
只会循环遍历数组和v-if
/将有条件地为数组中的每个项目v-else
呈现适当的代码块。你应该做的是使用一种方法来检查一个数字是否在你的列表中。您可以使用..items
indexOf
var app = new Vue({
el: '#app',
data: {
items: [1, 5, 8, 12, 63]
},
methods: {
itemsContains(n) {
return this.items.indexOf(n) > -1
}
}
});
<div id="app">
<div v-if="itemsContains(1)">
Yes
</div>
<div v-else>
No
</div>
</div>
如果需要,您也可以摆脱该方法并进行条件内联。
<div id="app">
<div v-if="items.indexOf(1) > -1">
Yes
</div>
<div v-else>
No
</div>
</div>
推荐阅读
- amazon-web-services - 如何为 AWS ECS 私有服务器使用弹性 IP
- api - Uber API "POST /requests/estimate" 响应 POST "code":"unauthorized"
- java - 如何在由 KafkaTemplate 创建的事务中发送 Kafka 偏移量?
- javascript - Razzle - 在构建文件夹中运行 server.js 时未找到反应
- java - 如何将视频文件转换为字节数组?
- html - 为什么背景渐变将内容向下推?
- r - R中的非线性最小二乘拟合
- javascript - 如何将richembed 描述拆分为两条消息?
- powershell - 查找不包括禁用用户的组成员
- google-maps - 使用 React-native 中的准确性获取正确的纬度和经度