<div data-ng-repeat="div in divs">
<label>First Name</label>
<input type="text" name="fname" ng-model="user.fname[$index]">
<label>Second Name</label>
<input type="text" name="sname" ng-model="user.sname[$index]">
</div>
<button ng-click="addDivs()">Add More Person</button>
angular.module('user', []).controller('UserCtrl', function($scope){
$scope.divs = [1];
$scope.addDivs = function(){
$scope.divs.push({});
}
}
当我们有 2 个div 时所需的数据格式为:
[ { fname:'name1', sname:'name2' }, { fname:'name3', 名称:"名称4" } ]
但输出是:
{ fname:[ 'name1', 'name3' ], sname:[ 'name2', 'name ]}
如何对 html 进行建模以获取所需格式的数据?
这是你所期待的吗?
angular.module('user', []).controller('UserCtrl', function($scope){
$scope.persons = [];
$scope.addDivs = function(){
$scope.persons.push({fname: $scope.user.fname, sname: $scope.user.sname});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="user" ng-controller="UserCtrl">
<div>
<label>First Name</label>
<input type="text" name="fname" ng-model="user.fname">
<label>Second Name</label>
<input type="text" name="sname" ng-model="user.sname">
</div>
<div data-ng-repeat="person in persons"> {{person.fname}} {{person.sname}}</div>
<button ng-click="addDivs()">Add More Person</button>
</div>