3

我有一个单页网络应用程序,其模板/网页如下所示:

[模板左 | 模板右]

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

似乎最好的方法是使用路由和 ng-view,但由于一个路由影响整个页面,一个路由只影响 templateRight,我不确定如何正确创建控制器/路由,因为它似乎就像您不能嵌套 ng-view 一样。

我错了吗?实现这一目标的好方法是什么?

4

2 回答 2

3

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

主要目标 将 Angular“路由”的概念演变为更通用的“状态”概念,用于管理粗略的应用程序 UI 状态。

主要特点: 状态管理器 $stateProvider 和 $state,将状态逻辑与路由逻辑分开。嵌套状态(父/子关系)。可以通过命名视图设置多个视图。ui-view 指令。URL 路由向后兼容 Angular v1 路由器 其他各种优点

于 2013-02-18T10:23:14.480 回答
2

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

在邮件列表和 SO 上都对此主题进行了多次讨论,人们试图采用不同的策略,但再一次 - 没有干净/推荐的嵌套 ngView 方式。

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

于 2012-11-29T15:14:52.097 回答