AngulajJS中的服务功能未定义

时间:2017-03-12 11:55:25

标签: javascript angularjs

我开始学习AngularJS,并尝试从控制器调用服务方法。但是当我调用它时,它说该函数是未定义的。

奇怪的是当我在控制台中打印服务对象时,我可以看到该功能。然而,当我试着打电话时,它说未定义。

控制器

(function() {
angular.module('public')
.controller('NewPatientController', NewPatientController);

NewPatientController.$inject = ['NewPatientService'];
function NewPatientController(NewPatientService) {
    var $ctrl = this;
    console.log(NewPatientService.register1);
    $ctrl.mess = 'hhtg';
    $ctrl.success = null;
    NewPatientService.regsiter1();
    $ctrl.submit = function() {
        console.log('Ctrl');
        NewPatientService.regsiter1();

    }

}

})();

服务

(function(){     angular.module( '公共')     .service('NewPatientService',NewPatientService);

function NewPatientService() {
    var service = this;
    service.userInfo = null;
    this.register1 = function () {

    }
}

})();

我得到的确切错误是:

NewPatientService.regsiter1 is not a function

有人可以指出这可能是什么问题。

1 个答案:

答案 0 :(得分:0)

这是因为console.log(NewPatientService.register1);

尝试按如下方式删除或更改

console.log(NewPatientService.register1());

在console.log,

之后的行NewPatientService.regsiter1();上也存在问题

应为NewPatientService.register1();