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

时间:2014-11-10 15:59:46

标签: javascript angularjs

我有一些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}},这里有什么我在这里无法访问的地方吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

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

它正在使用this plunker

答案 1 :(得分:0)

我自己并不喜欢,当有人回答“你为什么要这样做,你应该采取另一种方式”时,回答这个问题,但不管怎么说,我走了。

如果您想在ng-repeat循环中为控件提供ID,那么您可能做错了。如果要访问DOM,则只需要ID,但角度的全部意义在于您不应该访问DOM。一旦你在你的控制器中看到jquery,就该停下来并重新评估你为什么要这样做了,并且几乎可以保证更好的方法来处理你想要的东西。

例如:如果您希望提供点击处理程序,那么在循环中在HTML中包含ng-click="policy_clicked(company.policy_number)"之类的内容会好得多

再一次,我为给你一个不答复而道歉,但我看到人们一遍又一遍地犯这个错误,这导致了非常不可持续的代码