這是我的代碼如何在ng-repeat中爲AngularJs中的mutilpe文本字段實現ng模型?
function Ctrl($scope) {
$scope.data = [];
$scope.data = [{
"label": "name",
"type": "string"
}, {
"label": "email",
"type": "string"
}];
$scope.addFields = function() {
var count = 0;
angular.forEach($scope.data, function(obj) {
if (count == 2) {
return true;
}
$scope.data.push(obj);
count = count + 1;
});
};
$scope.save = function() {
console.log($scope.data);
};
}
<div ng-app>
<div ng-controller="Ctrl">
<input type="button" value="add" ng-click="addFields()" />
<div ng-repeat="eachItem in data">
<label>{{eachItem.label}}</label>
<input type="text" ng-model="eachItem.value" />
</div>
<input type="button" value="save" ng-click="save()" />
</div>
</div>
這是我的jsfiddle http://jsfiddle.net/0c5p38dt/5/ 在上面的代碼我有多個對象的陣列,這些目的從服務動態獲取。當我再次單擊添加按鈕時,相同的對象將推到相同的數組。我在ng-repeat內部使用ng-model作爲textfield。但是當我輸入的數據也會影響其他文本域。所以如何區分數組中多個相同對象的ng模型值。
如你所說,同樣的對象推到相同的陣列。輸入數據時,您正在修改相同的對象,因此綁定到相同ng模型的所有字段也會被更改。在addField函數中,如果克隆該對象,即angular.copy(obj)。在將其推入陣列之前,您應該看到區別。但我不確定這是否是你想要的。 – sdfacre