AngularJS导航和重新加载标签页

时间:2014-01-16 21:36:44

标签: angularjs tabs routing

在我的应用程序中,我有一个显示多个选项卡的页面。所有信息都通过单个HTTP请求收集。每个选项卡都包含一个HTML表单。默认情况下,在页面加载时我们加载第一个选项卡。在任何选项卡中进行修改后,我们重新加载页面以进行信息刷新(在后端数据库中执行INSERT / UPDATE之后)。我们想要的是:如果在任何更新之前我们在特定标签上(除了第一个标签之外的其他标签),则返回同一标签。

我想了几个解决方案:

  1. 为不同的选项卡(窗格)使用不同的URL,即URL路由。例如,domain.ext/page/tab。在那里,我有一个问题,因为URL必须在用户跟踪后更新。如果用户单击第三个选项卡,我们必须使用$ location.path()将URL更改为domain.ext/page/3rd-tab,这会触发页面重新加载。
  2. 在$ location.search()和reloadOnSearch = false管理的页面中使用相同的URL(我们现在拥有的)和锚点。例如,domain.ext/page?pane=tab。在那里,我有另一个问题,因为查询字符串(由$ location.search()管理)保持在服务级别,当用户进入另一页时,查询字符串是相同的(domain.ext/another-page?pane=tab)。我想在用户离开页面时删除查询字符串。
  3. 使用ui-route。这个解决方案改变了应用程序的实际结构。
  4. 恕我直言第二个解决方案似乎更好,除了我不知道何时何地重置查询字符串。

    我想听听你对这个话题的看法。

    感谢。

0 个答案:

没有答案