我只是在设置这个:

app.config(['$routeProvider',function($routeProvider) {
  $routeProvider
  .when('/asd/:id/:slug',{
    templateUrl:'views/home/index.html',
    controller:'Home',
    publicAccess:true,
    sessionAccess:true
  });

:id和:slug是动态参数。

现在我想对该路线进行check if current url matches(/asd/:id/:slug)

例如网址:asd/5/it-is-a-slug
哪个是最简单的方法?

我尝试了这个:
$rootScope.$on('$routeChangeStart', function(){
   console.log($route.current);
});

但有时在切换页面路由时它在控制台中不返回任何内容

最佳答案

当前路由允许您使用正则表达式。注入(inject)$route服务并浏览当前路线对象。即regexp部分:

$route.current.regexp

这是使用它的方式(例如,从 Controller 方法检查是否应激活当前菜单项(具有动态部分)):
$scope.isActive = function (path) {
    if ($route.current && $route.current.regexp) {
        return $route.current.regexp.test(path);
    }
    return false;
};

关于javascript - Angular JS-检查当前网址是否与路由匹配(带有动态网址参数),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22128379/

10-15 07:42