2014-02-14 133 views
1

尝试使用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”不能动态创建?

我试图在ng-repeat内使用<select ng-model ... ng-options ...>。不能动态地创建这些“ng模型”,我被困在这里。

+0

以下是关于动态创建ng模型的一些提示: http://zh.efreedom.com/questions/13989453/how-to-give-value-dynamically-for-ng-model-in-angularjs – ForgetfulFellow

+0

浙胡..请选择帮助你的答案。 –

回答

1

ng-model是角属性,你并不需要包括{{}} - 尝试ng-model="'p' + n"

+2

不知何故,它仍然无法正常工作。检查html源代码,它显示出''。换句话说,“n”没有扩大。 –

0

尝试使用ng-init引用$指数

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

不起作用。提供错误为无效的语法。 –

0

这是行不通的,因为你已经使用ng-modellabel这是不可能的标签。

ng-model只能用在input, select and textareaThis

你不能用它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}}