You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js如何在元素属性内循环获取对象的cat_id值

解决Vue模板中data-cat属性绑定多个cat_id的问题

嘿,别担心,刚上手Vue遇到这种小问题太正常啦!你想要在data-cat属性里拿到page.categories里的所有cat_id值,其实用数组的map和join方法就能轻松搞定~

具体修改方案

你只需要把:data-cat的绑定值改成下面这样:

:data-cat="page.categories.map(cat => cat.cat_id).join(',')"

原理说明

  1. page.categories.map(cat => cat.cat_id):遍历categories数组,把每个对象里的cat_id提取出来,生成一个新数组,你的例子里就会得到[1, 2]
  2. .join(','):把这个数组转成逗号分隔的字符串,最终结果就是"1,2",正好符合data-cat属性需要的格式

修改后的完整模板代码

<template v-for="page in $props.data.pageInfo" >
  <div 
    class="overviewItem" 
    :key="page.uid" 
    :data-cat="page.categories.map(cat => cat.cat_id).join(',')"
  >
    <div v-for="(cat, index) in page.categories" :key="index" >
      <p v-if="index === 0" class="subtitle"> {{ cat.title }} </p>
    </div>
  </div>
</template>

额外小提示

如果page.categories有可能是空数组或者undefined的情况,可以加上可选链操作符避免报错:

:data-cat="page.categories?.map(cat => cat.cat_id).join(',') || ''"

这样当categories不存在时,data-cat会是空字符串,不会抛出错误~

内容的提问来源于stack exchange,提问作者Tanja K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:10:55