gpt4 book ai didi

带有 ng-repeat 的 Angularjs 为相同类型的多个元素生成相同的 id

转载 作者:行者123 更新时间:2023-12-01 22:42:46 25 4
gpt4 key购买 nike

我有一个 html 页面,其中有一个对象“Message”,其属性“Properties”是一个对象数组。问题是,当我使用“ng-repeat”迭代“Message.Properties”项以呈现我用 angularjs 创建的某些自定义元素(它又生成一个 id)时,我为相同的元素获得相同的 id类型。这是我的代码示例:

<div data-ng-repeat="property in Message.Properties">
...
<div ngm-if="(property.Type == 9)">
<sdk:selectbox name="property.Title" row="" datafield="property.Value"
options="property.ValueCollection" displayfield="Value" valuefield="Key"
mandatory="property.isMandatory" labeled="property.Title" multiple="">
</neolynk:selectbox>
</div>
</div>

要重新制定,当编译元素“sdk:selectbox”时,如果我在 Message.Properties 中有 2 个具有相同类型的属性(例如:9),则生成的 id(创建的 html 输入的)是相同的对于两者(虽然我是随机生成的),但对于不同的输入,我当然需要不同的 ID。我读到 ng-repeat 为每个项目克隆了模板,是这样吗?!怎么解决呢?我将不胜感激任何帮助。

最佳答案

您可以在 ng-repeat 中使用 $index 来根据当前行创建唯一的 ID。取自the docs :

Special properties are exposed on the local scope of each template instance, including:

  • $index – {number} – iterator offset of the repeated element (0..length-1)
  • $first – {boolean} – true if the repeated element is first in the iterator.
  • $middle – {boolean} – true if the repeated element is between the first and last in the iterator.
  • $last – {boolean} – true if the repeated element is last in the iterator.

关于带有 ng-repeat 的 Angularjs 为相同类型的多个元素生成相同的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com