我需要在我的一个服务中添加,更新和删除URL中的查询字符串参数。麻烦的是URL似乎没有更新。我正在尝试以下方法:
var updateUrlParams = function (deepLinkEvent) {
if (deepLinkEvent.title !== 'bookmarkTitle') {
return;
}
var params = $location.search();
if (deepLinkEvent.name === deepLinkEvents.removeFragment) {
if (params[deepLinkEvent.fragmentKey]) {
delete $location.$$search[deepLinkEvent.fragmentKey];
$location.$$compose();
}
}
if (deepLinkEvent.name === deepLinkEvents.setFragment) {
$location.search(deepLinkEvent.fragmentKey, deepLinkEvent.fragmentValue);
$location.$$compose();
}
};
以上不起作用。当我尝试使用:
删除参数键/值时,不会更新URL delete $location.$$search[deepLinkEvent.fragmentKey];
$location.$$compose();
参数不会更新或添加:
$location.search(deepLinkEvent.fragmentKey, deepLinkEvent.fragmentValue);
$location.$$compose();
有人可以告诉我在网址中添加/更新和删除查询参数的正确方法吗?
谢谢!
更新
这也无效
//remove param
$location(deepLinkEvent.fragmentKey, null);
答案 0 :(得分:0)
而不是$location
,而是使用$window
代替:
$window.location.href = "url"
我自己从未与$location
有任何运气,但$window
非常简单。