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

Aurelia中点击分类Div时如何返回单个选中的Member数据

解决点击分类仅获取对应Member数据的问题

这个问题的核心是你当前的点击事件没有绑定到具体的分类元素上,也没有传递当前选中的单个Member对象,所以才会拿到整个数组。按照下面的步骤修改就能解决:

1. 调整HTML中的点击事件绑定

把点击事件从最外层的div移到每个分类的卡片元素上,并且直接传入循环中的category(也就是当前的单个Member数据),而不是$event.target。这样用户点击具体分类时,就能精准传递对应的数据:

<div if.bind="Members.length">
  <div repeat.for="category of Types(Members)">
    <div class="row">
      <div class="col s3">
        <!-- 将点击事件绑定到卡片上,并传入当前category -->
        <div class="card blue-grey darken-1" click.delegate="GetProfiles(category)">
          <div class="rotate-text-90-negative truncate"> ${category.name} </div>
        </div>
      </div>
    </div>
  </div>
</div>

2. 修改TypeScript方法接收单个Member参数

注意你代码里的方法名有点不一致(HTML里是GetProfiles,TS里是GetCrewProfiles),先统一方法名,然后修改方法参数为单个Member对象,这样就能直接拿到点击的分类数据:

async GetProfiles(selectedMember) {
  this.GetProfile.open();
  console.log(selectedMember); // 现在控制台会输出你点击的那一条分类数据,比如Stationary对应的对象
}

为什么这样改?

  • 把点击事件绑定到每个分类的卡片上,确保触发事件的是用户实际点击的分类元素,避免外层容器的事件干扰。
  • 直接传递循环中的category变量,这个变量就是遍历Types(Members)时的单个Member对象,方法里自然就能拿到选中的那条数据,而不是整个数组。

内容的提问来源于stack exchange,提问作者user14241810

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:52:31