AngularJS - 测试字符串是否与路径匹配

时间:2013-12-20 09:28:53

标签: angularjs

当给出以下路线时,是否有角度的方式

.when('/customer/:customerId', {
    templateUrl: 'views/summary.tpl.html',
    controller: 'SummaryController'
})

能够测试一个字符串是否与该路由匹配?

例如使用字符串

'/customer/3'

是否有角度函数我可以调用以确定路线是否与路线匹配?

2 个答案:

答案 0 :(得分:2)

您可以遍历所有已定义的路线并检查是否匹配:

angular.forEach($route.routes, function(route) {        
    if(route.regexp.exec(myURL)){
        match = true;
    }        
})

检查this fiddle

答案 1 :(得分:1)

这是一个很好的问题,我也应该解决这个问题。你可以在这里寻找灵感:

https://github.com/angular/angular.js/issues/2274

不幸的是,这意味着你必须通过一些嘲弄来拼凑一些东西。遗憾的是,没有解决所有功能。或者您可以使用状态提供程序本身并尝试根据URL更改状态,然后检查您是否处于预期状态。