AngularAMD/RequireJS を使用しているときに、ルート/状態解決にサービスを挿入することは可能ですか?
ルート/状態解決を使用して、コントローラーがロードされる前にコントローラー用のデータを準備するパターンは、良い方法です。サーバーからデータをフェッチし、そのデータをサービスに保存するのに特に便利であることがわかりました。これは、AngularAMD を使用していないときに成功したことです。
AngularAMD を実装して解決にサービスを注入しようとすると、注入しようとしているサービスを参照する「不明なプロバイダー」エラーが発生します。
OtherService に対して Unknown Provider エラーがスローされる基本的な例を次に示します。
$stateProvider
.state('home', angularAMD.route({
url: '/home',
templateUrl: 'home.html',
controllerUrl: 'HomeCtrl.js',
controller: 'HomeCtrl',
resolve: {
stuff: function(OtherService) {
return OtherService.getStuff();
}
}
}));
誰かがこの問題に遭遇しましたか? それが機能しない理由の解決策や説明はありますか?
この質問 - angularjs + requirejs + 依存関係の解決- は同じ問題を考慮していますが、唯一の答えは特に役に立ちませんでした。