Есть стандартный код:
angular.module("main", ["ngRoute"])
.config(RouterConfig);
function RouterConfig($routeProvider){
$routeProvider.when("/registration", {
templateUrl: "/features/registration/view.html",
controller: "RegistrationCtrl as reg"
});
//...
$routeProvider.otherwise({redirectTo: '/registration'});
}
Так как блоков $routeProvider.when() очень много, хочется сделать некий сервис, который будет сам генерить .config();
Пытаюсь сделать вот так:
function Router(){
this.features = [
"registration",
"timeLeft"
];
this.bindProvider = function($routeProvider){
for(var feature in this.features) {
$routeProvider.when("/" + feature, {
templateUrl: "/features/" + feature + "/view.html",
controller: feature + "Ctrl as " + feature
});
}
}
}
Проблема в том, что при попытке указать в .config() метод сервиса, сервис не найден.
\
angular.module("main", ["ngRoute"])
.service("Router", Router)
.config(Router.bindProvider); //Не видит сервис
Как сделать так, чтобы конфиг генерился автоматически?