控制器中未定义的服务

时间:2015-05-13 10:52:48

标签: javascript angularjs service

我有一个服务和一个如下所示的控制器:

angular

.module('purchaseApp')

.service('sharedProperties', function() {
    var stringValue = 'test string value';

    return {
        getString: function() {
            return stringValue;
        }
    }
})

.controller('purchaseOrderCtrl', ['$scope', '$rootScope', '$location', '$http', function ($scope, $rootScope, $location, $http, sharedProperties) {
   console.log(sharedProperties.getString());
});

当我尝试访问控制器中的服务时,它会返回“undefined”,但我不知道为什么......你能帮助我吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您的控制器丢失sharedProperties。你需要注射它。在$http之后添加。

.controller('purchaseOrderCtrl', ['$scope', '$rootScope', '$location',  '$http', 'sharedProperties', function ($scope, $rootScope, $location, $http, sharedProperties) {
    console.log(sharedProperties.getString());
});

答案 1 :(得分:0)

.controller('purchaseOrderCtrl', ['$scope', '$rootScope', '$location', '$http', **'sharedProperties'**, function ($scope, $rootScope, $location, $http, sharedProperties) {
       console.log(sharedProperties.getString());
    });

在您的controller依赖参数中添加sharedProperties服务。