2017-03-11 12 views
0

고객 편집 양식을 작성하고 30 개의 키 값 쌍을 전달합니다. 그런 다음 ng-repeat를 사용하여 양식의 입력 필드를 채 웁니다. 모든 양식은 전달 된 키, 값으로 멋지게 표시됩니다. 또한 어떤 입력 필드의 값을 변경할 수 있습니다. 그러나 양식을 제출할 때 양식에 처음 전달 된 이전 범위 개체를 사용하여 변경 사항을 남겨 둡니다. 변경된 개체를 제출해야합니다. 그렇게하는 방법? 나는 많이 검색했지만 이것에 대한 해결책을 찾을 수 없다.ng-model 값이 변경되면 양식 제출 범위를 업데이트하는 방법?

var app = angular.module("customerModule", []); 
 
app.controller('crudController', function($scope, $http) { 
 
    $scope.Customers = //object from Ap with almost 30 key,values 
 

 
    $scope.edit = function() { 
 
     console.log($scope.Customers); 
 
     //the above line prints the API called object where as I am editing the values of ng-model in my form. and I need the form submitted values 
 
    } 
 

 

 
});
<div ng-app="customerModule" ng-controller="crudController"> 
 
    <form name="as" ng-submit="edit()"> 
 
    <ul> 
 

 
     <li ng-repeat="(key, val) in Customers " ng-hide="(key=='total' || key=='paid' || key=='customfields' || key=='owing')" ng-if="key!='customfields'"> 
 

 
     <label class="label"> {{key}}</label> <input type="text" ng-model="val" /> 
 
     </li> 
 

 
     <li ng-repeat="(key, val) in Customers.customfields"> 
 
     <label class="label"> {{key}}</label> <input type="text" ng-model="val" /> 
 

 
     </li> 
 
     <button type="submit"><i class="fa fa-plus-circle" aria-hidden="true"></i><span> Edit Customer</span></button> 
 
     <ul> 
 

 
    </form> 
 

 
</div>

답변

1

사용 ng-model="Customer[key]".

값을 참조하는 로컬 변수 val을 사용 중입니다. 그 기본적 권리, Custom['foo']의 값을 변경하지 않습니다

var val = Custom['foo']; 
val = 'newValue'; 

일에 aquivalent거야?

그러나 다음과 같은 뜻 :

Custom['foo'] = 'newValue';