首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS:两个并行视图,一个URL

AngularJS:两个并行视图,一个URL
EN

Stack Overflow用户
提问于 2014-04-19 04:39:55
回答 2查看 1.7K关注 0票数 4

我正在构建一个仪表板/控制面板应用程序,它基本上由根级的两个选项卡(引导)组成,称为“调度”和“管理”。每个选项卡都有很好的多层导航和功能,它们不需要直接交互。我遇到的问题是如何深入链接到其中一个选项卡中的子视图,而不会丢失非活动选项卡的“状态”。为了澄清,我可以很好地实现这一点,如果我不担心更新URL,但当我试图添加深度链接,这是我被卡住了。

所需行为的一个示例:

  1. 当您单击"Admin“选项卡时,该路由将变为"/admin"
  2. 单击子导航项,路由变为"/admin/foo"
  3. 选择3层子级别项,路由变为"admin/foo/thing1"
  4. 单击“分派”选项卡,路由变为"/dispatch"
  5. 单击"admin“选项卡后,路由返回到"admin/foo/thing1"

因此,基本上,如果您在"admin/foo/thing1"路由中填写一个文本字段,然后切换到另一个选项卡,然后切换回来,那么文本字段应该仍然存在,就像您离开它时一样。

正如我所说的,问题不是从选项卡切换到选项卡,因为默认情况下,选项卡只是显示和隐藏页面上的内容,而不需要动态加载任何视图。我只是不知道如何深入链接到给定标签的“书签”位置,当你切换到它。我一直认为,单击选项卡应该只更新URL的第一个段(/admin/dispatch),然后某种$watch函数将根据该选项卡中的最后一个“位置”更新剩余的段。像这样的东西有用吗?

另外,我使用ui路由器来处理我的所有路由和状态,所以我必须考虑到如何处理所需的行为。

帮助?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-24 00:21:31

我致力于这两个主题(深度状态重新激活和并行状态)和集成到ui路由器。抓取我的ui-路由器的github叉,并使用grunt构建。然后,将两个选项卡状态标记为parallel: truedeepStateRedirect: true

Git:https://github.com/christopherthielen/ui-router

示例柱塞:http://plnkr.co/edit/YhQyPV?p=preview

讨论:https://github.com/angular-ui/ui-router/issues/894

票数 4
EN

Stack Overflow用户

发布于 2014-04-21 20:15:46

我只需将当前状态保存在一个变量中,然后动态地将选项卡的链接更改为最后一个子视图。

例如,如果用户在/admin/billing上,Admin选项卡将链接到admin/billing。当它们离开该选项卡时,/admin选项卡将保持不变。如果您正在使用ui-路由器,您可以使用ui-sref,您也可以手动检查变量时,状态变化,并将用户从控制器路由到那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23165911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档