从url获取状态

Get state from url

本文关键字:状态 获取 url      更新时间:2023-09-26

想要获取匹配特定url的状态。例如,如果我有:

stateProvider.state('a', {
    url: '/a?foo?baz'
});

我需要这样的东西:

state.resolveFromUrl('/a?foo=bar&baz=qux'); // returns state 'a'

有一个$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;
    });
};