想要获取特定网址的匹配状态。例如,如果我有:
stateProvider.state('a', {
url: '/a?foo?baz'
});
我需要这样的东西:
state.resolveFromUrl('/a?foo=bar&baz=qux'); // returns state 'a'
答案 0 :(得分:0)
有一个$state.get()
方法可以返回所有状态的列表。
所以,例如,使用loDash,你可以
$scope.resolveFromUrl = function(url){
return _.find($state.get(), {url: url});
};
更新问题:
$scope.resolveFromUrl = function(url){
return _.find($state.get(), function(state){
return state.url.split('?')[0].indexOf(url.split('?')[0]) === 0;
});
};