在AngularJS中递归地路由动态路径

时间:2014-04-10 10:23:16

标签: angularjs angularjs-routing

我想用AngularJS构建类似目录浏览器的东西。是否可以使用ng-route路由路径?我想像这样解析网址:myapp.com /#/ folder1 / folder2 /.../ folderN

1 个答案:

答案 0 :(得分:2)

来自$routeProvider docs

  

path可以包含以冒号开头并以a结尾的命名组   star:eg:name*。所有字符都热切地存储在$ routeParams中   路线匹配时在给定名称下。

所以你可以定义

$routeProvider.when('/:folders*', {
    template:'template'
})

然后(在控制器中)。

$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    if (angular.isDefined($routeParams.folders))
        var foldersArray = $routeParams.folders.split('/');
});

DEMO JSFIDDLE:http://jsfiddle.net/rYm5G/