在Angular对象中循环时向HTML添加id

Adding an id to HTML when looping through Angular objects

本文关键字:HTML 添加 id 循环 Angular 对象      更新时间:2023-09-26

我有一些HTML:

<div class='list-group' >
    <a href="javascript:;" ng-attr-id="{{company.policy_number}}" class='list-group-item' ng-repeat="company in companies">{{company.primary_name}}</a>
</div>

每个对象看起来像:

{
    policy_number: 12345,
    primary_name: "Policy Name Here"
}

如何将我创建的链接的id设置为对象的策略编号?

我已经尝试了id="{{company.policy_number}}ng-attr-id={{company.policy_number}},,是不是我缺少了一些无法访问的东西?

谢谢!

您应该使用id="{{company.policy_number}}"

它在这个plunker 中工作

我自己也不喜欢,当有人没有回答这个问题,而是回答"你为什么这么做,你应该用另一种方式来做"时,但我还是来了。

如果您希望为ng重复循环中的控件提供ID,那么您很可能做错了什么。如果您正在访问DOM,您只需要ID,但angular的全部意义在于您不应该访问DOM。一旦你在控制器中看到jquery,是时候停下来重新评估你为什么要这么做了,而且有一种更好的方法来处理你想要的东西。

例如:如果你想提供一个点击处理程序,那么在循环中的HTML中有一个类似ng-click="policy_clicked(company.policy_number)"的东西要好得多

再次,我为没有给你答案而道歉,但我看到人们一次又一次地犯这个错误,这导致了严重不可持续的代码