$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 声明将向我的TabOne
控制器 (someFirstService
和someOtherService
) 注入两个服务。这两个工作正常,但我希望我的路线只有在someDependency
解决并注入之后才能改变TabOne
。如果我只是添加someDependency
到控制器函数的参数列表中,它将因 DI 错误而失败。
任何想法如何做到这一点?