我正在使用ng-repeat
创建一个项目数组(列表),我希望每个项目都有一个id作为它在数组中的位置。
JS FIDDLE DEMO HERE:http://jsfiddle.net/m62Ez/15/
请查看以下内容,看起来ng-model="item.id"
永远不会分配。任何建议非常感谢。
HTML
<div ng-controller="MainCtrl">
<button ng-click="addItem()">Add Item</button>
<ul>
<li ng-repeat="item in items">
<input type="hidden" ng-model="item.id" ng-value="{{$index}}" />
<input type="text" ng-model="item.name" />
</li>
</ul>
<hr />
<button ng-click="saveAll()">Save All</button>
</div>
JS
var app = angular.module("app", []);
app.controller("MainCtrl", function ($scope) {
$scope.items = [];
$scope.addItem = function () {
$scope.items.push({});
}
$scope.saveAll = function () {
console.log($scope.items); // item's do not have id's
}
});
答案 0 :(得分:2)
隐藏字段无效。如果您希望对象具有ID,则使用ID生成它们:
$scope.addItem = function () {
$scope.items.push({id: $scope.items.length});
}
更新了jsfiddle:http://jsfiddle.net/K7DgE/