繁体   English   中英

AngularAMD:应用程序取决于服务,但服务取决于应用程序

[英]AngularAMD: the app depends on services but services depend on the app

我显然缺少一些非常基本的东西。

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

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.run ,但是app.configapp.run需要我应该创建的许多必备模块-玩具级别以外的任何应用程序也一样。 因此,显然有一些我缺少的简单解决方案。 如何创建应用程序依赖的服务?

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

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

});

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM