无法从控制器调用角度服务

时间:2015-07-12 15:11:54

标签: javascript angularjs

我是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模块模式来组织我的代码。任何帮助都将是真正可感知的

1 个答案:

答案 0 :(得分:1)

app.controller('loginController',['$scope','$http',function($scope,$http,GetLoggingCredential){

应该是,

app.controller('loginController',['$scope','$http', 'GetLoggingCredential', function($scope,$http,GetLoggingCredential){

您没有添加GetLoggingCredential作为数组中的依赖项