2014-02-14 187 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}}