在我的angularjs应用程序中,有一个'项目'的概念。每个项目可以包含0个或更多文件夹,每个文件夹可以包含0个或更多子文件夹。反过来,每个子文件夹可以包含0个或更多个子子文件夹,依此类推。层次结构中的文件夹级别数量没有实际限制。
我想将每个文件夹级别映射到UIRouter状态级别。
如,
URL State name
http://localhost:8079/projects/1122024 -> _.projects.view
http://localhost:8079/projects/1122024/folders/123890 -> _.projects.view.folder
http://localhost:8079/projects/1122024/folders/123890/547938 -> _.projects.view.folder.folder
http://localhost:8079/projects/1122024/folders/123890/547938/124890 -> _.projects.view.folder.folder.folder
等
是否可以在UIRouter中声明这样一个无穷无尽的层次结构?如果是,那怎么样?我现在唯一的想法是使用string.split,就像下面的代码一样 - 但我真的不觉得这是正确的方法。有什么想法吗?
.state('_.projects.view', {
url: '/{projectId:int}'
})
.state('_.projects.view.folders', {
url: '/folders/{folderIds}',
resolve: {
folderIdTree: function($stateParams) {
$stateParams.folderIds.split('/');
}
}
}