在AngularJS和UI路由器中处理三种完全不同的布局的正确方法?

在AngularJS和UI路由器中处理三种完全不同的布局的正确方法?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,使用AngularJS在三种完全不同的布局之间切换的正确方式是什么?路由变量?填充根作用域?嵌套控制器?在使浏览器导航到不同的URL而无需路由后,有什么神奇的方法来维护变量?我正在使用 注: 我倾向于使用嵌套的控制器,但是我被困在如何针对特定的UIView的问题上。例如,如果嵌套视图是侧中堂区域的视图,那么侧中堂的sref或类似视图如何更改主体区域 我的客户给了我一个静态版本的网站,里面有100个有用的页面示例,但是很多页面的总体布局却大不相同。它们都有数据元素,这些数据元素都可以连接在一起:

使用AngularJS在三种完全不同的布局之间切换的正确方式是什么?路由变量?填充根作用域?嵌套控制器?在使浏览器导航到不同的URL而无需路由后,有什么神奇的方法来维护变量?我正在使用

注: 我倾向于使用嵌套的控制器,但是我被困在如何针对特定的UIView的问题上。例如,如果嵌套视图是侧中堂区域的视图,那么侧中堂的sref或类似视图如何更改主体区域

我的客户给了我一个静态版本的网站,里面有100个有用的页面示例,但是很多页面的总体布局却大不相同。它们都有数据元素,这些数据元素都可以连接在一起:

半公共区域约15页 类似于公共营销网站,但带有标题栏,显示用户登录时的通知

仪表板约45页 用于基于web的管理应用程序的复杂页面

用户应用程序约40页
实际的公共应用程序。在同一会话期间,仪表板中所做的更改必须实时显示。

这些听起来像是标准模板,但我可能是错的,因为您没有提到这些模板是否全部显示在一起,或者用户是否在这些区域之间切换。您应该了解嵌套状态/视图的概念:@Enzey用户可以在它们之间切换。例如,如果普通用户阅读公共区域中的“联系我们”页面,顶部的导航栏将显示其当前用户名、统计信息和链接,以返回到公共应用程序。同样,管理员可以在这三个应用程序之间跳转,而无需登录/注销。可能应该是三个单独的应用程序,或者是同一个整体应用程序中的子应用程序。每个都有自己的登录页。代码重用仍然应该使用三者共享的模块来实现。会话令牌可用于在应用程序之间共享身份验证。否则,uirouter是您的最佳选择。