Angular js - check if current url matches the route (with dynamic url params)
angularjs, javascript, match, ngroute
Solution
Current route allows you to use regular expression. Inject `$route` service and explore current route object. Namely `regexp` part:
$route.current.regexp
This is how you can use it (example from controller method to check if current menu item (which has dynamic parts) should be activated):
$scope.isActive = function (path) {
if ($route.current && $route.current.regexp) {
return $route.current.regexp.test(path);
}
return false;
};
Problem
i'm simply doing setting this: ``` app.config(['$routeProvider',function($routeProvider) { $routeProvider .when('/asd/:id/:slug',{ templateUrl:'views/home/index.html', controller:'Home', publicAccess:true, sessionAccess:true }); ``` :id and :slug are dynamic params. Now i would like to `check if current url matches` that route (`/asd/:id/:slug`) for example the url : `asd/5/it-is-a-slug` which is the simplest way? i tryed this : ``` $rootScope.$on('$routeChangeStart', function(){ console.log($route.current); }); ``` but sometimes it returns nothing in console while switching page routes