你能在angularjs中使用嵌套的ngView吗?

时间:2012-11-29 14:41:40

标签: angularjs

我有一个单页网页应用,其模板/网页如下:

[templateLeft | templateRight]

我想设置路由,以便当某些用户未登录时,他们会转到不同的页面(登录页面),当他们登录时,路由只影响templateRight(这样就不会重新加载templateLeft)

似乎最好的方法是使用路由和ng-view,但由于一个路由影响整个页面,一个路由只影响templateRight,我不知道如何正确创建控制器/路由因为看起来你不能拥有嵌套的ng-view。

我错了吗?有什么好办法实现这个目标?

2 个答案:

答案 0 :(得分:3)

实际上,这里有一个正在进行的Alpha开发:https://github.com/angular-ui/ui-router

  

主要目标   将角度“路线”的概念演变为更多   用于管理粗略应用UI的“状态”的一般概念   的状态。

     

主要功能:状态管理器$ stateProvider和$ state,保持状态   逻辑与路由逻辑分开。嵌套状态(父/子   关系)。可以通过命名视图设置多个视图。用户界面视图   指示。 URL Routing Backward与Angular v1路由器兼容   其他各种善良的小块

答案 1 :(得分:2)

没有使用当前版本的AngularJS嵌套ngView的标准方法。这是非常常见的请求,并且已经为此打开了一些拉取请求但没有签入。

在邮件列表和SO上有几个关于这个主题的讨论,人们试图采用不同的策略但又一次 - 没有干净/推荐的嵌套ngView方法。

最近,AngularJS团队认识到存在多个路由器的空间,并将核心路由服务(以及ngView指令)重构为一个单独的模块。取代“官方”路由器的最有希望的社区驱动力似乎是angular-ui路由器:https://github.com/angular-ui/router