vue.js - 在 v-for 中计算 v-if 输出的总数

我有一个类似的代码

<template>
  <div v-for="(item, i) in items" :key="i">
    <div v-for="(subitem, index) in subitems" :key="index" v- 
       if="item.id==subitem.item_id">
    {{count(subitem)}}
    </div>
  </div>
</template>
<script>
data() {
  return {
    items: [],
    subitems: [],
  }
}

watch: {

  items : async function() {
  const itm = await('get','/item')
  this.items = itm
    },

  subitems : async function() {
  const subitm = await('get','/sub_items')
  this.subitems = subitm

    },
},
</script>

items 和 subitems 数组从 watch 属性中的 api fetch 中获取数组的 values。每个子项 values 中都有项 id,现在我想要每个 v 的计数或长度,如果子项的输出等于项 id。怎么做?

谢谢

回答1

您不能将 v-for 和 v-if 放在同一个元素上,您能否提供有关您的数组结构的更多信息,以便我可以为您提供最好的方法,但是根据我所拥有的,您可以在获取项目和子项目后创建执行此功能

items.foreach((element)=>{
element.subitemCount=0;
subitem.foreach(item=>{
if(element.id==item.item_id){
element.subitemCount++;}}

对于你的 vuejs,你可以写这个

<div v-for="(item, i) in items" :key="i">  {{item.subitemCount}} </div>

相似文章

python - python 猜数字游戏,猜多

我正在学习编程1并且正在做1-100的猜数游戏,我需要一个命令,如果我猜超过100,程序会看到它并告诉我,我不知道我应该如何得到这个答案。我已经猜到我认为该命令会是什么样子以及它最远的地方,但如果我完...

随机推荐

最新文章