html - Angular - 如何将计数器变量从模板添加到 html 属性?
问题描述
我有这个 HTML:
<ng-container *ngFor="let something of things; let i = index">
<span data-e2e="{{"abc" + i}}" class="checkmark"></span>
</ng-container>
我想在 DOM 中呈现这个结果:
<span data-e2e="abc0" class="checkmark"></span>
<span data-e2e="abc1" class="checkmark"></span>
...
但这{{"abc" + i}}
行不通。
“abc”应该是一个字符串。我怎么能做到这一点,而不将属性(计数器:i)保存到组件控制器
解决方案
你应该改变,
<ng-container *ngFor="let something of things; let i = index">
<span data-e2e="{{"abc" + i}}" class="checkmark"></span>
</ng-container>
至:
<ng-container *ngFor="let something of things; let i = index">
<span [attr.data-e2e]="'abc'+i" class="checkmark"> {{something}} </span>
</ng-container>
在这里,您应该使用attr
前缀,并且需要使用属性绑定将值分配给自定义属性,例如[attr.data-e2e]="'abc'+i"
..
推荐阅读
- android - 无法从文档引用中获取数据
- mysql - 以随机(非 root)linux 用户身份运行 MySQL 一个预填充的 docker 容器?
- javascript - 如何以角度创建动态DOM元素?
- java - 不能在方法中编写语句。java类的功能。“错误:”;“预期”
- c# - 如何正确设置 Autofac IIndex
在多租户容器中工作? - ruby-on-rails - 通过使用 Rails 中的 Cocoon gem 的嵌套属性更新关联模型上的多个复选框
- r - R:通过分隔符拆分字符串向量并重新排列
- azure-active-directory - Microsoft Graph Webhook 和多租户通知?
- javascript - Ruby - 是否可以在按钮上使用 FancyBox?
- vba - 在列中查找以“SS”开头的单元格并将行向左移动