javascript - 如何在angularjs中声明一个函数

标签 javascript angularjs angular

我有一个函数,我是这样做的

JS :

function updateInstitution (isValid) {alert('hi')
    if (!isValid) {
        $scope.$broadcast('show-errors-check-validity', 'vm.form.institutionForm');
        return false;
    }
    var data = JSON.stringify(vm.institution);
    httpService.put('institutions/' + vm.institution_id, data).then(function (results) {
        if (results && results.data && results.data.details) {
            vm.institution = results.data.details;
            formInstitutionData('profile');
            commonService.showNotification('success', 'Institution Details updated successfully!');
            $('#institutionModal').modal('hide');    
        }   
    });     
} 
}
  vm.updateInstitution = updateInstitution;

HTML :

<button type="button" class="btn btn-blue"  ng-click="vm.updateInstitution(vm.form.institutionForm.$valid)" ng-bind="field.saveText"></button>

但是我得到的错误是

updateInstitution is not defined

任何人都可以提供帮助。谢谢。

JS :

    (function () {
  'use strict';

  // Institutions controller
  angular
          .module('institutions')
          .controller('InstitutionsController', InstitutionsController);

  InstitutionsController.$inject = ['$scope', '$state', '$window', '$timeout', 'httpService', 'Authentication', 'commonService'];



    function active() {
      httpService.get('institutions/' + vm.institution_id).then(function (results) {
        if (results && results.data && results.data.details) {
          vm.institutionCopyData = angular.copy(results.data.details);
          formInstitutionData('all');
        }
      });
    }

    $scope.editInstitutionModal = function (type) {
      $scope.field = {};
      $scope.showInstitutionModal = false;
      if (type === 'basicedit') {
            $scope.field.field_type = 'edit-institution.form.client';
            $scope.field.formName = 'Edit institution (' + vm.institutionObj.name + ')';
            $scope.field.saveText = 'Update';  
      }
      if(type === 'general'){
            $scope.field.field_type = 'add-general.form.client';
            $scope.field.formName = 'General Info';
            $scope.field.saveText = 'Save';          
      }
      $timeout(function () {
        $scope.showInstitutionModal = true;
        $('#institutionModal').modal('show');
        $scope.$apply();
      }, 10);
    };


    function updateInstitution (isValid) {alert('hi')
        if (!isValid) {
            $scope.$broadcast('show-errors-check-validity', 'vm.form.institutionForm');
            return false;
        }
        var data = JSON.stringify(vm.institution);
        httpService.put('institutions/' + vm.institution_id, data).then(function (results) {
            if (results && results.data && results.data.details) {
                vm.institution = results.data.details;
                formInstitutionData('profile');
                commonService.showNotification('success', 'Institution Details updated successfully!');
                $('#institutionModal').modal('hide');    
            }   
        });     
    } 
    }
  }
}());

但是我得到的错误是

updateInstitution is not defined

任何人都可以提供帮助。谢谢。

但是我得到的错误是

updateInstitution is not defined

任何人都可以提供帮助。谢谢。

最佳答案

您应该在您的 Controller 中声明以下内容:

var vm = this;
vm.updateInstitution = updateInstitution;

关于javascript - 如何在angularjs中声明一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40737863/

相关文章:

javascript - 您可以将 .resize() 绑定(bind)到 $(document) 而不是 $(window) 吗?

angularjs - Angular $http 回调不适用于 Chrome 中的 HTTP 304

angular - 如何在 Typescript 中将组件类定义为接口(interface)字段?

jquery - 在组件 Angular 2 中调用 Jquery 方法

java - 在javascript中使用json对象在确认窗口中显示

javascript - CSRF Token通过Postman不提交表单是否可以获取数据

javascript - 带有按钮的可排序 jQuery UI 列表

javascript - 要成为一名优秀的 AngularJS 开发人员,我需要了解哪五个 JavaScript 概念?

javascript - 围绕 AngularJS/KnockoutJS 等数据绑定(bind)库创建抽象

angular - 如何找出 ag-grid 的选定行的索引