angularjs ng-repeat在ng-model指令中使用$ index

时间:2014-02-14 21:28:37

标签: angularjs angularjs-ng-repeat

尝试使用ng-repeat

<ul>
    <li ng-repeat = "n in [1,2,3,4]>

     <label id="{{'p'+ n }}"> {{n}} </label>
     <label ng-model="{{'p'+ n }}"> {{n}} </label>

     </li>

</ul>

第一个“标签”有效。它的“id”被正确分配。但第二个“标签”不起作用。

是否因为“ng-model”无法动态创建?

我试图在<select ng-model ... ng-options ...>中使用ng-repeat。无法动态创建这些“ng-model”,我被困在这里。

3 个答案:

答案 0 :(得分:1)

ng-model是一个Angular属性,您不需要包含{{}} - 尝试ng-model="'p' + n"

答案 1 :(得分:0)

尝试使用ng-init引用$ index

<li ng-repeat = "n in [1,2,3,4] ng-init="myIndex = $index">
  <label ng-model="{{'p'+ myIndex }}" />
</li>

答案 2 :(得分:0)

这不起作用,因为您在ng-model标记上使用了label,这是不可能的。

ng-model只能在input, select and textarea上按This

使用

您无法在div's, ul, ol, tabel etc上使用它。

相反,要在标签中指定值,您可以使用ng-value,如下所示:

<label ng-value="{{'p'+ n }}"> {{n}} </label>

或将index值分配给ng-model,您可以这样做:

<input type="text" ng-model="user.text[$index]"/>

显示您可以执行的索引:

{{$index}}