如何在多个地方拥有相同的页面而不会干扰导航

时间:2014-01-27 02:20:42

标签: angularjs

我正在构建一个非常大的角度应用程序。

到目前为止,有超过50个控制器并且没有现场结束。

我有大约8页,应该显示在不同的上下文或工作流程中。

例如,有一个消息页面可供您发送消息。

有四种方法可以访问此页面。

现在每一种方式,我都希望在顶部有一个导航按钮,返回上一部分,或显示不同的信息。

否则它们都是一样的。

目前,我为四种不同的方式创建了一条路线,以便进入该页面。 并为每条路线定制一个控制器。 (试图将尽可能多的功能卸载到服务中)

我有一种这样的页面设置,具有不同的路由,但具有相同的控制器。 我使用routeParam来if / else一点逻辑。

这让我觉得非常狡猾,因为我正在复制许多事情。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

看看@ ui-router,它非常适合多个并行视图,例如将主视图与导航栏配对。它是一种状态机,所以返回上一节(保持其状态)是可行的。

https://github.com/angular-ui/ui-router

看看@这个: https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views

这是一个基本的演示: http://plnkr.co/edit/kYPGZw?p=preview