簡體   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