我已经在一个大型 Angular 应用程序上工作了将近一年,我一直在努力做我认为微不足道的事情。
这是我使用参数的两条路线(为简洁起见而缩短):
/a/:id
/a/:id/b
假设用户在/a/1
并且修改了查询字符串,例如:
/#/a/1?foo=123&bar=456
我想在页面上有一个链接,将用户定向到第二条路线/a/1/b
,同时维护查询字符串,因此最终结果是重定向到:
/#/a/1/b?foo=123&bar=456
我正在使用 Angular 1.2 和新的 ngRoute 模块。
实现这种行为的最佳方法是什么?
编辑:
我应该提到我现在有一个可行的解决方案,这对我来说似乎很糟糕。该链接绑定到一个ng-click
处理程序,该处理程序基本上如下:
$scope.navigateToBClick = function() {
var path = $location.path() + '/b',
search = $location.search();
$location.url(path + '?' + $.param(search));
};