2015-09-17 84 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示例應用程序找到。

相關問題