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



尝试使用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模型"无法动态创建吗?

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

ng-model是一个

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

尝试使用 ng-init 引用$index

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

行不通的,因为您在label标签上使用了ng-model,这是不可能的。

ng-model只能在input, select and textarea上使用

,按照

您不能在 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}}

最新更新