简体   繁体   English

如何在angularjs中声明一个函数

[英]How to declare a function in angularjs

I have a function and i did it in this way 我有一个功能,我这样做了

JS : 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 : Html:

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

But i am getting the error as 但我得到的错误是

updateInstitution is not defined

Can anyone please suggest help.Thanks. 任何人都可以建议帮助。谢谢。

JS : 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');    
            }   
        });     
    } 
    }
  }
}());

But i am getting the error as 但我得到的错误是

updateInstitution is not defined

Can anyone please suggest help.Thanks. 任何人都可以建议帮助。谢谢。

But i am getting the error as 但我得到的错误是

updateInstitution is not defined

Can anyone please suggest help.Thanks. 任何人都可以建议帮助。谢谢。

You should declare the following in your controller: 您应该在控制器中声明以下内容:

var vm = this;
vm.updateInstitution = updateInstitution;

你使用$ scope.updateInstitution而不是函数updateInstitution() ,因为html和controller之间的通信桥是$ scope,或者使用vm.function你定义了$ scope.vm

 $scope.updateInstitution = function(){
     //Your code
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM