Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何设置路由器状态层次结构?_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 如何设置路由器状态层次结构?

Angularjs 如何设置路由器状态层次结构?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,在我的angularjs应用程序中,有一个“项目”的概念。每个项目可以包含0个或多个文件夹,每个文件夹可以包含0个或多个子文件夹。每个子文件夹依次可以包含0个或更多子文件夹,以此类推。层次结构中的文件夹级别数量没有实际限制 我想将每个文件夹级别映射到UIRouter状态级别 例如: 等等 有可能在UIRouter中声明这样一个无止境的层次结构吗?如果是的话,怎么办?我现在唯一的想法就是使用string.split,就像下面的代码一样——但我真的觉得这不是正确的方法。有什么想法吗 .state('

在我的angularjs应用程序中,有一个“项目”的概念。每个项目可以包含0个或多个文件夹,每个文件夹可以包含0个或多个子文件夹。每个子文件夹依次可以包含0个或更多子文件夹,以此类推。层次结构中的文件夹级别数量没有实际限制

我想将每个文件夹级别映射到UIRouter状态级别

例如:

等等

有可能在UIRouter中声明这样一个无止境的层次结构吗?如果是的话,怎么办?我现在唯一的想法就是使用string.split,就像下面的代码一样——但我真的觉得这不是正确的方法。有什么想法吗

.state('_.projects.view', {
    url: '/{projectId:int}'
})
.state('_.projects.view.folders', {
  url: '/folders/{folderIds}',
  resolve: {
    folderIdTree: function($stateParams) {
      $stateParams.folderIds.split('/');
    }
  }
}

@GreenFoxx你的入门包如何帮助回答我的问题?看看这个,你的链接没有帮助,我的问题不是关于在运行时创建状态-我是关于在配置中创建一个无穷无尽的状态层次结构。所有的无实际限制的层次结构状态都会一直嵌套吗?那将是许多嵌套状态!如果没有,我确实认为通过使用
split
函数,您有一个非常好(聪明)的解决方案:P@CozyAzure,此endles层次结构将出现在应用程序的一个屏幕上。事实上,它很少会有超过10或15个级别
.state('_.projects.view', {
    url: '/{projectId:int}'
})
.state('_.projects.view.folders', {
  url: '/folders/{folderIds}',
  resolve: {
    folderIdTree: function($stateParams) {
      $stateParams.folderIds.split('/');
    }
  }
}