如何`$ inject`工厂服务进入`服务模块`?

时间:2015-12-18 05:53:39

标签: angularjs

我有一个factory模块server'. for some reasons i have created a generic web service in a服务module. but when i注入the server module, i am getting result as undefined`

如何解决这个问题?

这是我的factory模块:

(function () {

    "use strict";

    angular
        .module("tcpApp")
        .factory("server", ['$resource', function ($resource) {

            var base = 'http://azvsptcsdev02:678/_vti_bin/CPMD.WEBSERVICE/ProjectInfoService.svc/';

            return {

                batchUpdate : $resource( base + 'UpdateImportantbyUser')

            }

        }]);

})();

这是我的网络服务,server模块需要。

"use strict";
angular.module("tcpApp").service("batchService", ['server', function ( $rootScope, server ) {

    console.log( server ); // consoles as undefined

    server.batchUpdate.save({ //i need to use the server serice

            "Id" : newId,
            "Type" : newType,
            "IsImportant"  : newImportant

        })
        .$promise.then(function(response) {

            console.log(response);
            object.IsImportant = newImportant;

        });

}]);

如何解决这个问题?这有什么不对?

1 个答案:

答案 0 :(得分:2)

这里你错过了注释$rootScope依赖关系,

您的问题发生了什么$rootScope让注入的serviceservice一无所获。

尝试console.log($rootScope);它会打印您注入的server

所以正确的格式就是这样,

angular.module("tcpApp").service("batchService", ['$rootScope', 'server', function ( $rootScope, server ) {

了解更多信息document