问题陈述:为控制器范围数组中的每个元素显示一个 JQ 按钮集。
所以这样的事情是合乎逻辑的:
<div ng-repeat='a in algos' mybuttonset>
<input name='X' id='A'><label for='A'>
</div>
但是...在 JQ 按钮集中,如果输入/标签对的 id 不是唯一的,则每次指令调用 buttonset() 按钮的大小都会增长。例如。如果你在“算法”中有 20 个元素,那么按钮就会很大。
那么如何让id的唯一性呢?我认为 ng-repeat 中的 {{$index}} 会起作用:
<div ng-repeat='a in algos' mybuttonset>
<input name='X' id='A{{$index}}'><label for='A{{$index}}'>
</div>
但在这种情况下,angular 会报告语法错误:
Syntax error, unrecognized expression: [for=A{{$index}}] <div ng-repeat="a in algos" dwbuttonset="" class="ng-scope ui-buttonset">
一个非常简单的例子展示了这三种情况(正常大小、增长的按钮和语法错误)的本质是在这个 Plunker。
所有帮助和评论表示赞赏。
丹尼