为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Vuejs v-if 中检查数组元素是否相等?

如何在 Vuejs v-if 中检查数组元素是否相等?

哆啦的时光机 2022-07-21 10:34:35
我在一个 vuejs 项目中工作,我遇到了一个问题来检查一个数字是否等于一个数组元素。我的代码是这样的:<div v-if="someValue != arrayElement">    //    </div>我的问题是我如何遍历数组以检查 var 'someValue' 是否有相等的值。
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

Array.includes(value)如果要测试精确值,可以使用


new Vue({

    data: function() {

        return {

            value: 3,

            array: [3,4,5,6,7,3]

        }

    },

    computed: {

        isInArray: function() {

            return this.array.includes(value);

        }

    }

})

或者直接在这样的v-if指令中


<span v-if="array.includes(value)"> {{ value }} </span>


查看完整回答
反对 回复 2022-07-21
?
浮云间

TA贡献1829条经验 获得超4个赞

更好的方法是创建计算属性,按特定值过滤数组。例如:


new Vue({

  data: function() {

    someValue: 3,

    array: [3,4,5,6,7,3]

  },

  computed: {

    arrayFiltered() {

      return this.array.filter(elem => elem === this.someValue);

    }

})

在您的 html 中,这可能如下所示:


<div v-if="array.includes(someValue)">

   <div v-for="elem in arrayFiltered" :key="array.indexOf(elem)">

     {{ elem }}

   </div>

 </div>

因此,您可以将数组指定为对象数组,例如


查看完整回答
反对 回复 2022-07-21
  • 2 回答
  • 0 关注
  • 409 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号