我是angularjs的新手,并试图学习它。我为vanilla应用程序创建了三个不同的js文件。
loginBoot.js
var LoginBoot = (function(module,$,angular,global){
console.log("Initializing Logging Application");
_appName = document.getElementsByTagName('html').item(0).getAttribute('ng-app');
_app = angular.module(_appName,[]);
$.extend(module,{
appName:_appName,
app:_app
});
return module;
}(LoginBoot ||{},this.jQuery,this.angular,this));
loginService.js
var LoginService = (function(module,$,angular,global){
console.log("Initializing Login Service");
var app = LoginBoot.app;
app.service('GetLoggingCredential'['$scope','$http',function($scope,$http){
this.sayHello = function(){
console.log("Saying Hello");
};
}]);
$.extend(module,{
});
return module;
}(LoginService || {},this.jQuery,this.angular,this));
loginController.js
var LoginController = (function(module,$,angular,global){
console.log("Initializing Login Controller");
var app = LoginBoot.app;
app.controller('loginController',['$scope','$http',function($scope,$http,GetLoggingCredential){
$scope.getUser = function(){
GetLoggingCredential.sayHello();
};
}]);
$.extend(module,{
});
return module;
}(LoginController || {} ,this.jQuery,this.angular,this));
我试图通过此控制器点击按钮来调用该服务。
<button type="button" id="loginSubmit" ng-click="getUser()"/>Click Here</button></div>
但这是一个错误
TypeError:无法读取属性&#39; sayHello&#39;未定义的
我正在使用javascript模块模式来组织我的代码。任何帮助都将是真正可感知的
答案 0 :(得分:1)
app.controller('loginController',['$scope','$http',function($scope,$http,GetLoggingCredential){
应该是,
app.controller('loginController',['$scope','$http', 'GetLoggingCredential', function($scope,$http,GetLoggingCredential){
您没有添加GetLoggingCredential
作为数组中的依赖项