Find route from angularjs routeprovider by name
angularjs, angularjs-routing
Solution
Since there is nothing built in, an extending of route can solve this problem in a nice way:
$provide.decorator('$route', ($delegate) => {
$delegate.getRoute = (name) => {
var result = null;
angular.forEach($delegate.routes, (config, route) => {
if (config.name === name) {
result = route;
}
});
return result;
};
return $delegate;
});
Problem
I'm defining my routes like this. ``` $routeProvider .when('/Home', { name: 'Main', templateUrl: 'Main.html', controller: 'MainController', controllerAs: 'ctrl' }) .when('/About', { name: 'About', templateUrl: 'About.html', controller: 'AboutController', controllerAs: 'ctrl' }) ``` How can I in a controller find the '/About' URL by querying on the name 'About', when I'm in the Main controller?