我想在导航时保留查询字符串:
http://localhost/#/test/page1?param=123
我的导航链接如下:
<a ng-href="test/page2>
当我点击该链接时,该网址将更改为:http://localhost/#/test/page2
并删除查询字符串。
问题:如何保留查询?
答案 0 :(得分:1)
如果您乐意不使用ng-href,可以非常干净地使用$ location.path(),如下所示:
在您的控制器中声明一个最终执行此操作的函数:
$scope.sendToNewPlace = function (path) {
$location.path(path);
}
(不要忘记将$ location注入你的控制器(或者你最终把$ location.path()调用放在哪里)。
然后将您的链接更改为使用ng-click,如下所示:
<a href="#" ng-click="sendToNewPlace('test/page2');">page2, passing querystring</a>
答案 1 :(得分:0)
$scope.$on('$locationChangeStart', function(event, next, current) {
//next: holds the new Url
//current: holds the old Url
});
更多参考资料: https://docs.angularjs.org/api/ng/service/ $位置