首页  >  问答  >  正文

如何在Vue中访问不同v-for循环中的数据

我在我的Vue应用程序中有一个表格主体,在其中我通过循环一个数据对象来构建一部分行。然后,我有一个单独的部分使用不同的数据对象,但是,我需要将其值与另一个循环中的值进行比较,以便进行条件样式设置。

我想知道是否有一种方法,在第一个for循环的时候将value部分的数据发送到一个方法调用中,这样我就可以在汇总循环中访问它,如果这样说的话。

这是表格:

<tbody v-if="selected === 'Stores'">
  <tr v-for="(value, manager) in managerNumbers" :key="manager"> <!--这是我想知道是否可以将value发送到方法调用的地方-->
    <td v-for="date in dates" :key="date" >
      <div v-for="(dataForDate, dateVal) in value.dates" :key="dateVal">
        <div v-if="dateVal == date ">
          @{{dataForDate.total_categories}}
        </div>
      </div>
    </td>
  </tr>

  <tr><td colspan="10"></td></tr>
  <tr><td colspan="10"></td></tr>
  <tr>
    <th>
      汇总
    </th>
    <div v-for="store in activeStore" :key="store">
      <th :style="'background: ' + (value.qty > store.qty ? '#000' : '#fff')">@{{ store.stock_num }}</th>
    </div>
  </tr>
</tbody>

P粉511757848P粉511757848183 天前355

全部回复(1)我来回复

  • P粉642436282

    P粉6424362822024-04-01 12:40:10

    您可以使用计算方法来创建activeStoremanagerNumbers之间的查找表,并循环遍历。

    get activeStoreAndManagerNumbers () {
     return managerNumbers.map((value, index) => {
        return {
          value, 
          store: activeStore[index] 
        }
      })
    }

    现在,您可以使用这个数组来循环遍历您的v-for

    v-for="(obj, index) in activeStoreAndManagerNumbers"

    现在,obj.value.qtyobj.store.qty都可以在同一个循环中使用。

    回复
    0
  • 取消回复