Javascript 具有父级的Ui路由器深度嵌套状态
我一直在四处搜索,没有找到任何我需要的东西,或者任何一般有效的东西 我正在构建的应用程序的状态如下:Javascript 具有父级的Ui路由器深度嵌套状态,javascript,angularjs,angular-ui-router,state,Javascript,Angularjs,Angular Ui Router,State,我一直在四处搜索,没有找到任何我需要的东西,或者任何一般有效的东西 我正在构建的应用程序的状态如下: 应用程序-主父级状态 facebook-facebook所有路由的父状态 adwords-adwords所有路由的父状态 bing-bing所有路由的父状态 …-还有很多。。。很多 例如,如果我想要一个Facebook概览,它应该是app.Facebook.overview。然而,我尝试过的任何方法都没有奏效(dotannotation,parent在声明中,等等) 我尝试了摘要和父项的每一种组
应用程序
-主父级状态
facebook
-facebook所有路由的父状态
adwords
-adwords所有路由的父状态
bing
-bing所有路由的父状态
…
-还有很多。。。很多
例如,如果我想要一个Facebook概览,它应该是app.Facebook.overview
。然而,我尝试过的任何方法都没有奏效(dot
annotation,parent
在声明中,等等)
我尝试了摘要
和父项
的每一种组合,以及点
注释。我一直没能让它工作。它无法向我提供以下错误:
Could not resolve 'app.facebook.overview' from state 'app'
我做错了什么?我不明白,我已经阅读了相关文档,并在这里查看了大量有关Stackoverflow的问题。有什么想法吗
编辑:
我已经解决了这个问题。基本错误。我没有将模块包含在主
angular.module
声明中。好。。。我在为你编码。我的答案是基于这个
基本上,您只需要将/facebook
的url设置为url:':facebook'
,这样就可以了。
我的答案是基于这个 基本上,您只需要将
/facebook
的url设置为url:':facebook'
,这样就可以了。
事实上,我想说我很愚蠢 下面是一个正在工作的plunk: 如果我包含了这个模块,它会对我的代码有所帮助
var App = angular.module('app', [
'... other modules ...',
'ui.router',
'... other modules ...',
]);
修正:
基本错误,但值得保留在这里,因为我花了相当长的时间才弄清楚如何使用ui路由器
执行深层嵌套状态。我学到了一些东西:
- 您不需要在抽象状态上有一个URL,但如果需要,它会预先准备好
- 例如:
没有url,app
的url为app.facebook
,而'/facebook'
的url为app.facebook.overview
。这意味着将使用的url最终将成为'/overview'
/facebook/overview
- 例如:
- 可以将状态嵌套到任意深度
- 如果继续往下看,则需要在状态声明中包含
,这样它将根据需要继续输入下一个状态模板:“”
- 例如:
有一个模板页面,其中包含app
,但
也必须声明app.facebook
,这样它将在其下方插入您想要的页面(模板:'
)app.facebook.overview
- 例如:
我希望这能帮助更多的人,而不仅仅是我。花了一段时间才弄明白,但plunk中有代码。现在,问题已经解决了。我觉得我终于可以继续前进了……我想说,事实上,我很愚蠢 下面是一个正在工作的plunk: 如果我包含了这个模块,它会对我的代码有所帮助
var App = angular.module('app', [
'... other modules ...',
'ui.router',
'... other modules ...',
]);
修正:
基本错误,但值得保留在这里,因为我花了相当长的时间才弄清楚如何使用ui路由器
执行深层嵌套状态。我学到了一些东西:
- 您不需要在抽象状态上有一个URL,但如果需要,它会预先准备好
- 例如:
没有url,app
的url为app.facebook
,而'/facebook'
的url为app.facebook.overview
。这意味着将使用的url最终将成为'/overview'
/facebook/overview
- 例如:
- 可以将状态嵌套到任意深度
- 如果继续往下看,则需要在状态声明中包含
,这样它将根据需要继续输入下一个状态模板:“”
- 例如:
有一个模板页面,其中包含app
,但
也必须声明app.facebook
,这样它将在其下方插入您想要的页面(模板:'
)app.facebook.overview
- 例如:
var App = angular.module('app', [
'... other modules ...',
'ui.router',
'app.facebook',
'... other modules ...',
]);