ng-model не будет обновлять измененное содержимое формы

У меня есть форма, в которой есть кнопка удаления записи и кнопка добавления записи. Я хочу вывести обновленные данные поля формы в formData={}, чтобы отправленные данные были актуальными. Однако при удалении набора полей formData={} не обновляется самой новой информацией ввода данных, а старые данные формы все еще существуют в formData={}. Вот ссылка на мой код


person fortrustit    schedule 08.05.2016    source источник
comment
извините, ребята, я обновил контент в Codepen, поэтому ссылка не будет оригинальной, когда я задавал вопрос.   -  person fortrustit    schedule 09.05.2016


Ответы (1)


попробуй так.

var app = angular.module("app",[]);

app.controller("MyCtrl" , function(){
  var formCtrl = this;
   formCtrl.forms ={
       formData:[{ name:""}]
   };
  
  formCtrl.addFields = function(){
    var name = {name:""};
     formCtrl.forms.formData.splice(formCtrl.forms.formData.length,0,name);
        
    };
  
  formCtrl.rmFields = function(form){
    var index  = formCtrl.forms.formData.indexOf(form);
       formCtrl.forms.formData.splice(index,1);
    }
  
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl as formCtrl">
   <table>
     <tr ng-repeat="form in formCtrl.forms.formData">
        <td> <input type="text" ng-model="form.name"></td>
        <td> <input type="button" ng-click="formCtrl.addFields()" value="Add" ng-show="$last"></td>
        <td> <input type="button" ng-click="formCtrl.rmFields(form)" value="Delete" ng-show="$index != 0"></td>
     </tr>
   </table> 
    <span>  <pre>{{formCtrl.forms | json }}</pre></span>
</div>

person Hadi J    schedule 08.05.2016