0

我显然错过了一些非常基本的东西。

说明是创建一个应用程序,如下所示:

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 (...) {
        ...
    });
});

还有这条有用的线路:

任何后续的模块定义都只需要要求 app 创建所需的 AngularJS 服务

好吧,这对于后续的模块定义非常有用,但是app.config需要app.run我应该创建的许多必备模块——就像任何超出玩具级别的应用程序一样。所以显然我缺少一些简单的解决方案。如何创建应用所依赖的服务?

4

1 回答 1

1

您可以简单地使用“angularAMD”注入来创建服务。例如,

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

});

使用此方法创建的服务在应用程序启动之前可用。因此应用程序可以依赖这些服务。

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

于 2015-11-09T11:10:36.220 回答