当前位置: 首页 > 面试题库 >

AngularJS-ng-repeat分配/生成新的唯一ID

上官华池
2023-03-14
问题内容

我用一个简单的方法ng-repeat来生成国家列表。每个列表中都有一个可以扩展和折叠的隐藏行/ div。

我面临的问题是,在将Angular引入应用程序之前,我手动对元素的ID进行了硬编码,例如:

<li data-show="#country1">
    {{country.name}} has population of {{country.population}}

    <div id="country1">
         <p>Expand/collapse content
    </div>
</li>
<li data-show="#country2">
    {{country.name}} has population of {{country.population}}

    <div id="country2">
         <p>Expand/collapse content
    </div>
</li>
<li data-show="#country3">
    {{country.name}} has population of {{country.population}}

    <div id="country3">
         <p>Expand/collapse content
    </div>
</li>
<li data-show="#country4">
    {{country.name}} has population of {{country.population}}

    <div id="country4">
         <p>Expand/collapse content
    </div>
</li>

新代码使用ng-repeat

<li ng-repeat="country in countries" data-show="????">
    {{country.name}} has population of {{country.population}}

    <div id="???">
         <p>Expand/collapse content
    </div>
</li>

如何在我的帐户中分配动态/增量ID ng-repeat


问题答案:

您可以使用$index
https://docs.angularjs.org/api/ng/directive/ngRepeat

<li ng-repeat="country in countries" data-show="????">
    {{country.name}} has population of {{country.population}}

    <div id="country-{{$index}}">
        <p>Expand/collapse content
    </div>
</li>


 类似资料:
  • 问题内容: 我已经建立了一个json,其中包含ID和国家/地区代码附加的国家/地区列表: 看起来像这样: 然后,我使用指令为每个国家/地区创建复选框输入。 但是,当我运行代码时,只能显示以下内容: 此处的位置复选框 如果删除重复部分,我的复选框会很好,但是我需要在每个复选框上附加一个唯一的 我将如何附加一个独特的价值? 此答案(在ng-repeat内生成ng-mode)未提供唯一值 问题答案: 我

  • 问题内容: 我正在尝试为包含的模板动态分配控制器,如下所示: 但是Angular抱怨这是不确定的。 我猜,是不是定义 尚未 (因为我可以附和了在模板中)。 我见过很多关于人们设置等于变量的示例,例如:。但是,如果不创建重复的并发循环,就无法弄清楚在需要时如何获得可用值。 PS我也尝试在模板中进行设置(认为​​到那时它一定已经解决了),但是没有骰子。 问题答案: 您的问题是ng-controller

  • 问题内容: 嗨,我有一个简单的ng-repeat-start和end用例,并且工作正常,当我想添加一个内部ng-repeat时出现了问题。这是我的代码 内部ng-repeat到td元素中不起作用,在检查html源代码时看到ngRepeat注​​释,但未创建td元素。 我的丑陋的解决方法(假设我知道该向量的大小)是: 问题答案: 从那时起,我不确定是否使用角度1.1.6,并且在1.1.5或1.0.7

  • 问题内容: 我正在尝试使用数组来过滤并在列表中显示信息。为此,我使用了inbuild 方法。 但是我遇到了错误。 这是我的尝试(我通过过滤) 现场演示 问题答案: AngularJS 默认不包含过滤器。您可以使用angular- filter中的 那个。只包含JavaScript 并在您的应用中添加依赖项: 您的代码应立即生效!我编辑了您的Plunker,使其正常工作。

  • 问题内容: 我想问你是否可以帮我这个忙。 我在这里用我的问题创建了一个jsfiddle 。我需要使用ng-model =“ my _ {{$ index}}”方式在ng-repeater中动态生成一些带有ng-model的输入。 在jsfiddle中,您可以看到一切正常,直到我尝试动态生成它为止。 HTML将是: 还有javascript … 你能给我个主意吗? 非常感谢。 问题答案: 它能解决您

  • 问题内容: 在遍历数据后,我遇到一些有关DOM操作的问题。 我们有一个与数据绑定并且可以正常工作的jQuery滑块插件,但是当使用时,我们必须将其初始化包装起来以使其起作用—现在甚至不起作用。 我认为使用是不可靠的,这将导致错误的修复。在jQuery中,我可以使用-这很可靠,但是使用似乎也不起作用。 调用了Slider指令,但由于没有将图像加载到DOM中而无法获得滑块中图像的高度-导致滑块的计算高