我从服务器获取html,我在视图中使用ng-repeat生成html,如下所示
<div class="col-lg-6" ng-repeat="controls in steps.infos">
<input type="text" ng-model="formData[controls.id]">
</div>
&#13;
在我的controller
我已声明变量$scope.formData = {};
。一切正常。但在这里,我想创建动态新ng-model
,以创建新的object
。任何人都可以通过在视图中设置动态ng模型来帮助我创建多个对象,例如 - ng-model="formData.{{$index}}[controls.id]"
。我想使用ng-model
动态生成以下JSON格式。有可能吗?
{
"0":{
"5":"sdfasf"
},
"1":{
"7":"sdfasf"
}
}
先谢谢
答案 0 :(得分:1)
试试这个
ng-model="formData['field_' + $index]"
如果你嵌套循环,你可以做类似的事情。
ng-model="formData[$parent.$index]['field_' + $index]"
在您的情况下,这可能会对您有所帮助。
ng-model="formData[$index][controls.id]"
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.home = {parent: {}};
$scope.objectsList = [{
'id':1,
'name': 'Vikram',
'Age': '25',
'sex': 'M'
}, {
'id':2,
'name': 'Quantum',
'Age': '26',
'sex': 'F'
}, {
'id':3,
'name': 'Katty',
'Age': '22',
'sex': 'F'
}];
$scope.getJson = function(home){
console.log(home);
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="GreetingController">
<p ng-repeat="obj in objectsList">
1st textbox<input type="text" ng-model="home.parent[$index][obj.id]" value="" />
2nd textbox<input type="text" ng-model="home.parent[$index][obj.name]" value="" />
<br/><br/>
</p>
<button ng-click="getJson(home)">Get Json Object</button>
{{parent}}
</div>
</body>