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

如何将ngFor的索引作为HTML标签属性值的一部分

解决Angular模板中ngFor索引绑定到data-test属性的问题

当然可以实现,你原来的写法存在语法错误,导致索引无法正确拼接进data-test属性里,调整成以下两种方式即可:

方式一:使用属性绑定语法

通过[attr.data-test]绑定自定义属性,用字符串拼接生成目标值:

<div *ngFor="let record of RecordsProcessed; let i = index">
   <div class="row my-16" [attr.data-test]="'test_' + i">
        <div class="col-4">Id:</div>
        <div class="col-8">{{record?.Id}}</div>
    </div>
</div>

这里[attr.data-test]是Angular中绑定自定义HTML属性的标准写法,能确保属性值正确解析模板表达式。

方式二:直接使用插值表达式

把整个属性值用双引号包裹,直接在里面拼接索引:

<div *ngFor="let record of RecordsProcessed; let i = index">
   <div class="row my-16" data-test="test_{{i}}">
        <div class="col-4">Id:</div>
        <div class="col-8">{{record?.Id}}</div>
    </div>
</div>

这种写法更简洁直观,适合简单的字符串拼接场景。

为什么原来的写法不行?

你之前写的data-test='test'_{{i}}会被浏览器错误解析:单引号会把'test'当成完整的属性值,后面的_{{i}}会被视为无效的HTML内容,导致索引无法正确绑定到属性中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:13:17