2015-09-17 85 views
0

我明显缺少一些非常基本的东西。AngularAMD:应用程序取决于服务,但服务取决于应用程序

The instructions是创建一个应用程序,就像这样:

define(['angularAMD'], function (angularAMD) { 
    var app = angular.module(app_name, ['webapp']); 
    ... // Setup app here. E.g.: run .config with $routeProvider 
    return angularAMD.bootstrap(app); 
}); 

然后创建后续的项目是这样的:

define(['app'], function (app) { 
    app.factory('Pictures', function (...) { 
     ... 
    }); 
}); 

而且有这个有用行:

任何随后的模块定义只需要应用程序来创建所需的AngularJS服务

嗯,这只是伟大的随后模块定义,但app.configapp.run需要大量的,我应该创建前提模块 - 因为会超越了玩具的水平的任何应用程序。所以显然有一些简单的解决方案,我错过了。如何创建应用程序依赖的服务?

回答

1

您可以简单地使用'angularAMD'注入来创建服务。该应用程序被自举前 例如,

define(['angularAMD'], function (angularAMD) { 
    angularAMD.service('LoggerService',['$log',function($log){ 
    return function(msg){ 
     $log.log('message:', msg); 
    } 
    }]); 

}); 

使用这种方法创建的服务是可用的。因此,应用程序可以依赖这些服务。

更多类似的代码可以在angular-AMD示例应用程序找到。

相关问题