我开始学习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
有人可以指出这可能是什么问题。
答案 0 :(得分:0)
这是因为console.log(NewPatientService.register1);
尝试按如下方式删除或更改
console.log(NewPatientService.register1());
在console.log,
之后的行NewPatientService.regsiter1();
上也存在问题
应为NewPatientService.register1();