2016-09-30 96 views
0

我从服务器获取HTML与我在与视图生成HTML NG-重复类似下面如何保持动态NG-模型的多个对象创建

<div class="col-lg-6" ng-repeat="controls in steps.infos"> 
 
\t <input type="text" ng-model="formData[controls.id]"> 
 
</div>

在我的controller我宣布变量$scope.formData = {};。这一切工作正常。但在这里,我想创建一个新的动态新ng-model,它创建一个新的object。任何人都可以帮助我如何通过在视图中设置动态ng模型来创建多个对象,如ng-model="formData.{{$index}}[controls.id]"。我想使用ng-model动态生成JSON格式。可能吗?

{ 
    "0":{ 
     "5":"sdfasf" 
    }, 
    "1":{ 
     "7":"sdfasf" 
    } 
} 

由于提前

+0

退房这个答案http://stackoverflow.com/a/39739957/4316707 –

回答

0

试试这个

ng-model="formData['field_' + $index]" 

如果you'e嵌套循环比你可以这样做。

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>

+0

此为每个新的对象和每一个元素,我想每一个新对象和ng-repeat的每个索引。

\t

+0

如果在循环{“0”中有两个输入元素:{“1”:“sdfasf”,“2”:“fjjj”},“1”:{“7”:“sdsafa”,“ 7“:”askdk“}} –

+0

你嵌套了循环吗? –