v-if判断某个元素满足多个条件的写法

v-if 判断 active 满足 0 的时候写法是:v-if="active === 0"

那如果 active 同时要满足 0,1,2 三个值的时候,如果在 v-if 里用 || 并列写如:v-if="active === 0 || active === 1 || active === 2"(这样是可行的,但代码有点冗余)

所以,最简便的写法就是:

//[ ]里可以放字符串,数值等
v-if="[0,1,2].includes(active) "

第二种,使用方法,复用性高,适用场景:多个标签都需要用到此判断

v-if="matchState(active,/[012]/)"
methods: {
  // 判断状态
  matchState(state = '', reg) {
  return !!String(state).match(reg)//返回true/false
      }
}

这样多个标签中的 v-if 只要用到 matchState 方法,都可以做判断

注意写法:matchState(某元素,/[匹配值]/)

posted @ 2023-01-06 17:33  icey-Tang  阅读(1104)  评论(0)    收藏  举报