私は Meteor + Angular を使用しています。私の意図は、アプリのブートストラップ後にさらに依存関係を追加することです (これは、パッケージが最初にブートストラップを処理するものであり、それをあまり制御できないためです)。それを実行する際には、たとえば、すべてのコントローラーを 1 つのモジュールにコンパイルするなど、基本的なコード構造を適用したいと考えています。
基本的な考え方は次のとおりです。
'use strict';
angular.module('app.controllers', [])
.controller('MainCtrl', function() {
// ...
})
.controller('SubCtrl', function() {
// ...
})
.controller('AnotherCtrl', function() {
// ...
});
次に、それを依存関係としてメイン モジュールに含めます。
angular.module('app', [
'app.filters',
'app.services',
'app.directives',
'app.controllers' // Here
]);
少し調べた結果、私がやろうとしていること (ブートストラップ後の依存関係の追加) は、実際には Angular チームへの機能リクエストの一部であることがわかりました。そのため、私のオプションは、たとえば、関数を使用すること$controllerProvider
ですregister()
。
Meteor.config(function($controllerProvider) {
$controllerProvider.register('MainCtrl', function($scope) {
// ...
});
});
Meteor.config(function($controllerProvider) {
$controllerProvider.register('SubCtrl', function($scope) {
// ...
});
});
Meteor.config(function($controllerProvider) {
$controllerProvider.register('AnotherCtrl', function($scope) {
// ...
});
});
それほどエレガントではありませんが、動作します。質問は次のとおりです。
config
and部分をよりエレガントに行う方法は何でしょうかregister
?- 代わりにモジュールを登録する方法はありますか?
ベストアンサー1
モジュールを作成します。
angular.module('app.controllers', []);
依存関係として追加します:
angular.module('app').requires.push('app.controllers');