如何在$ scope.on事件中重置表单数据?

时间:2017-09-26 12:42:38

标签: angularjs

我在某个指令中有一个表单控件。我正在将对象数据重置为其原始状态,但它在$ scope.on事件中不起作用。如果我在某些功能中使用它,它就可以工作。

   $scope.$on('edit_view_changed', function (event, parameters) {
            if (parameters.viewName === "" && parameters.editIndex === -1) { 
                vm.resetData(); 
                // this reset data is not working
            }
          });

    function resetData() {
          vm.rowData = angular.copy(vm.data);
    }

    // works properly on cancel button click
    function cancelEdit() {
      vm.resetData();
      $timeout(function () {
        vm.editCancelProspect();
      });
    }

// RowData is bind to a form in a html view.

    <form class="col-md-12" name="editForm" novalidate>
        <div class="col-md-10">
          <div class="form-group col-md-3">
            <label class="col-sm-3 control-label">{{'customers.columns.companyName'|translate}}</label>
            <input type="text" name="name" class="form-control" ng-model="vm.rowData.name"></input>
          </div>
          <div class="form-group col-md-4">
            <label class="col-sm-3 control-label">{{'customers.columns.address'|translate}}</label>
            <input type="text" name="adresse" class="form-control" ng-model="vm.rowData.adresse"></input>
          </div>
          <div class="form-group col-md-3">
            <label class="col-sm-3 control-label">{{'customers.columns.contactPerson'|translate}}</label>
            <input type="text" name="kontakt" class="form-control" ng-model="vm.rowData.companyContact"></input>
          </div>
          <div class="form-group col-md-2 ">
            <label class="col-sm-3 control-label">{{'customers.columns.phone'|translate}}</label>
            <input type="text" name="phone" class="form-control" ng-model="vm.rowData.phone" ng-pattern="/^\d+$/"></input>
            <span ng-show="editForm.phone.$error.pattern" class="error">{{'customers.inValidPhone' | translate}}</span>
          </div>
        </div>
 <button type="button" class="btn cancel-button" title="{{'prospects.cancelEdit'|translate}}" ng-click="vm.cancelEdit()">
             {{'prospects.cancelEdit'|translate}}</button>
</form>

0 个答案:

没有答案