组合两个或多个导航

时间:2013-12-02 14:00:01

标签: angularjs angular-ui-router

我正在尝试创建一个三面板布局:

  • left:使用ng-repeat生成的项目列表(即:group1,group2,group3 ......)
  • top:每个组页面的几个按钮(即:home,browse,users,...)
  • 右:内容面板

现在,我遇到了一些问题:

  • 我希望用户始终选择一个组,这应该在url(/ group /:groupId)中表示。只有在从后端数据库获取组后才能知道这个groupId,但我仍然希望这是默认页面。换句话说,网站的主页应该包含groupId,具体取决于当前用户。
  • 当用户点击顶部面板链接时,他应该被带到该特定于群组的页面(/ group /:groupId:/ home)
  • 当用户点击左侧面板中的组链接时,他应该被带到该组的当前所选页面(即:如果用户位于/ group / 1 / home并点击group2,他应该被带到/ group / 2 / home,如果他在/ group / 1 /浏览并点击group2,他应该被带到/ group / 2 /浏览)

任何人都知道如何实现这种行为?我一直试图绕过这个,但似乎无法找到实现这一目标的好方法。请发帖询问是否需要澄清。

编辑:我正在使用UI路由器

1 个答案:

答案 0 :(得分:1)

如果它可能对某人有用:

我通过以下方式解决了这个问题:

  • 添加加载用户组的全局解析。
  • 提供管理当前组状态的服务
  • 使用该服务中的groupId构建对主页的所有引用
  • 不依赖于href,而是使用ui-sref(如ui-router所预期的),如下所述:ui-router wiki: ui-sref