将$ rootscope注入服务模块

时间:2016-05-08 19:29:30

标签: javascript ionic-framework

如何将$rootscope注入wenzey.services,以便可以在我的应用程序中访问它?

(function () {

    'use strict';

    /**
     *
     */
    angular
        .module('wenzey.services', '$rootScope', [])

        $rootScope.type = "consumer";

})();

这是我目前收到的错误消息:

Uncaught ReferenceError: $rootScope is not defined

Uncaught Error: [$injector:modulerr] Failed to instantiate module wenzey due to:
Error: [$injector:modulerr] Failed to instantiate module wenzey.services due to:
Error: [ng:areq] Argument 'modulesToLoad' is not an array

1 个答案:

答案 0 :(得分:1)

您对模块使用了错误的定义。您正在将模块与服务混合。您需要了解以下内容才能正确使用它们:

  1. 您可以将模块指定为模块定义中其他模块的依赖项。 E.g。

    angular
      .module('wenzy.services', [])
      .factory('AppService', function () {
        // Add methods
      });
    

    现在您可以使用模块wenzy.services作为依赖项,同时定义模块 wenzy.controllers ,如下所示:

    angular
      .module('wenzy.controllers', ['wenzy.services']);    
    
  2. 在定义服务/控制器时,您将服务注入另一个服务/控制器。例如。我们已将服务AppService注入 AppController

    angular
      .module('wenzy.controllers', ['wenzy.services'])
      .controller('AppController', function (AppService) {
        // Add controller defintion
      })
    
  3. $rootScope是由角度提供的服务,可以注入任何服务/控制器。您不需要将其添加为模块定义的一部分。