$routeProvider resolveパラメーターを使用すると、コントローラー関数に追加の依存関係を挿入できます。明示的な依存性注入宣言と組み合わせる方法は?
エカンプル:
angular.module('myModule', [])
.config(function($routeProvider) {
$routeProvider.
when('/tabOne', { templateUrl : 'tabOne.html', controller: TabOne,
resolve: {
someDependency: SomeDependency.factoryFunction
}
});
});
その後:
TabOne.$inject = [ '$scope', 'someFirstService', 'someOtherService' ];
ご覧のとおり、上記の DI 宣言により、2 つのサービスがTabOneコントローラー (someFirstServiceおよびsomeOtherService) に挿入されます。someDependencyこれら 2 つは問題なく動作しますが、ルートが解決されて注入された後にのみルートを変更したいと考えてTabOneいます。Controller 関数の引数リストに単純に追加someDependencyすると、DI エラーで失敗します。
それを行う方法はありますか?