2013-02-21 45 views
10

我正在開發一個Angular應用程序。Angular.js:ng-repeat中的雙向綁定

我想生成一個任意數量的文本輸入字段的表單,雙向綁定爲每個輸入字段。沒有按鈕,沒有觀察者。 ng-model由於範圍限制而無法正常工作(如果我沒有弄錯)。的輸入字段被從與納克重複陣列像這樣產生的:

<div ng-repeat="item in items"> 
    <label>{{item.name}}</label> 
    <input type="text" placeholder="{{item.default}}" ng-model="{{item.value}}"> <!-- this input should be bound --> 
</div> 

我只想要一個簡單結合以更新在控制器中的items陣列上在輸入變化。

任何幫助表示讚賞。

+2

你只需要角括號{{VAR}}如果你正在寫出來的頁面。在重複使用或模型或過濾器中使用時,您不需要大括號。請注意,您已經在ng-repeat中執行此操作,您沒有在{{items}}中執行「項目」。 – 2013-02-21 19:41:56

+0

謝謝James的建議!我覺得我理解Angular更好一點(雖然我還是新手:)) – 2013-02-21 21:50:16

回答

11

只要改變輸入標籤,所以它讀取:

<input type="text" placeholder="{{item.default}}" ng-model="item.value"> 

通知ng-model沒有花括號。

工作普拉克:http://plnkr.co/edit/CLdem9yIw2Sk1U52Iajl?p=preview

+0

非常感謝!它現在正在工作:) – 2013-02-21 18:02:51

+2

這個plnkr不起作用。我清楚地看到鬍子價值{{item.name}}沒有得到更新。 – FlavorScape 2015-12-03 00:48:11