0
我有一個動態添加項到作爲ng重複模型的數組的問題。對ng重複數組的角度添加項
的plunker是在這裏:http://plnkr.co/edit/W4b34EDR8dP7ems7aFRV?p=preview
我有錶行的列表。在每一行中都有一個選擇框,其內容對於每一行都是相同的。對於select的ng模型只不過是作爲第一個ng-repeat中的項目的字符串(它很難解釋,而不是僅僅看一下這個笨蛋!)
我的問題是當我點擊按鈕添加一行。請按照下列步驟操作:
- 單擊「添加階段」。新行將出現一個空白值
- 在新行中選擇一些東西
- 再次單擊「添加階段」。
添加新行,但是從第3行中清除選擇。爲什麼會發生這種情況,我該如何避免它?當然,我試圖谷歌,但它是一個很難找到谷歌的話。
下面是一些代碼:
<tr ng-repeat="phase in phases track by $index">
<td>{{$index + 1}}</td>
<td><select ng-model='phase'>
<option ng-repeat="item in availablePhases" ng-value="item">{{item}}</option>
</select>
</td>
</tr>
而且控制器:
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.phases = ['Phase 1', 'Phase 2'];
$scope.availablePhases = ['Phase 0', 'Phase 1', 'Phase 2', 'Phase 3'];
$scope.add = function() {
$scope.phases.push('');
}
});
謝謝!
有趣。我錯誤地認爲「分階段......」意味着我可以使用「階段」作爲循環變量,有點像「for(String s:allStrings)...」。非常感謝你的回答! – Stephanie
我這是我錯了原因。我實際上認爲,「階段」是ng-repeat中的一個臨時參考,當範圍刷新時,參考丟失了,但這仍然不能解釋爲什麼前兩個從未改變。 – mvndaai