Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 合并两个或多个导航_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 合并两个或多个导航

Angularjs 合并两个或多个导航,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在尝试创建一个三面板布局: 左:使用ng repeat生成的项目列表(即:组1、组2、组3…) 顶部:每个组页面的两个按钮(即:主页、浏览、用户等) 右:内容面板 现在,我遇到了几个问题: 我希望用户总是选择一个组,这应该用url(/group/:groupId)表示。只有在从后端数据库获取组后才能知道此groupId,但我仍然希望这是默认页面。换句话说,根据当前用户的不同,网站主页中应该有一个groupId 当用户单击顶部面板链接时,应将其带到特定于组的页面(/group/:grou

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

  • 左:使用ng repeat生成的项目列表(即:组1、组2、组3…)
  • 顶部:每个组页面的两个按钮(即:主页、浏览、用户等)
  • 右:内容面板
现在,我遇到了几个问题:

  • 我希望用户总是选择一个组,这应该用url(/group/:groupId)表示。只有在从后端数据库获取组后才能知道此groupId,但我仍然希望这是默认页面。换句话说,根据当前用户的不同,网站主页中应该有一个groupId
  • 当用户单击顶部面板链接时,应将其带到特定于组的页面(/group/:groupId:/home)
  • 当用户单击左侧面板中的组链接时,应将其带到该组的当前选定页面(即:如果用户位于/group/1/home并单击group2,则应将其带到/group/2/home;如果用户位于/group/1/browse并单击group2,则应将其带到/group/2/browse)
有人知道如何实现这种行为吗?我一直在想这个问题,但似乎找不到一个好办法来实现这一点。请张贴并询问您是否需要澄清


编辑:我正在使用UI路由器,以防它对某人有用:

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

  • 添加加载用户组的全局解析
  • 提供管理当前组状态的服务
  • 在该服务中使用groupId生成对主页的所有引用
  • 不依赖href,而是使用ui sref(如ui路由器所预期的),如下所述:

您应该考虑使用UI路由器,而不是内置的Angular
ngRoute
对不起,我应该提到我确实使用UI路由器。编辑此问题似乎与主题无关,因为它与教程有关。如果此问题确实与教程有关,请提供一个指向教程的链接,说明如何实现此行为。我已经使用ui路由器有一段时间了,老实说,我知道基本原理是如何工作的,但是这个特定的用例似乎没有包括在其中。