Javascript 从URL中删除$routeParams,而无需重新加载页面

Javascript 从URL中删除$routeParams,而无需重新加载页面,javascript,angularjs,ngroute,Javascript,Angularjs,Ngroute,我在角度应用程序中使用ngRoute,并使用$routeParams将指示器参数从我的/edit路线发送到我的/list路线 这是我的$routeProvider配置 $routeProvider.when('/edit', { controller: 'editController', templateUrl: 'templates/editForm.html' }).when('/list', { controller: 'listController', t

我在角度应用程序中使用ngRoute,并使用
$routeParams
指示器
参数从我的
/edit
路线发送到我的
/list
路线

这是我的
$routeProvider
配置

$routeProvider.when('/edit', {
    controller: 'editController',
    templateUrl: 'templates/editForm.html'
}).when('/list', {
    controller: 'listController',
    templateUrl: 'templates/list.html'
}).when('/list/:indicator', {
    controller: 'listController',
    templateUrl: 'templates/list.html'
}).when('/', {redirectTo: '/listContacts'});
当有人在我的编辑页面上单击“保存”时,我会重定向回列表页面,其中有一个指示器,指示是否成功

如果成功:

$window.location.href = "#/list/success";
$window.location.href = "#/list/error";
如果不成功:

$window.location.href = "#/list/success";
$window.location.href = "#/list/error";
这将正确重定向到“我的列表”页面,并根据指示器显示成功或错误消息。这就是我如何检测指示器并在我的
listController
中显示消息的方式

var indicator = $routeParams.indicator;
if (indicator) {
    if (indicator == 'success') {
        //show success message
    } else if (indicator == 'error') {
        //show error message
    }
}
现在,在检查指示符route参数后,我想从浏览器中显示的URL中删除route参数,而不必重新加载页面

如果我修改
$window.location.href
以删除指示器,页面将重新加载

我已经看到了许多使用
$location.search('key',null)
的建议,但在这种情况下这不起作用,因为ngRoute的参数是作为路由的一部分传递的,而不是在
后面的键值对中传递的

我还看到一个建议,就是只设置
$routeParams=null
,但这对我也不起作用

我怎样才能改变

mysite.com/myapp/#/list/success

mysite.com/myapp/#/list


在浏览器中显示的URL中,无需重新加载页面/路由?

最好使用服务跟踪
指示器和/或
解析
。也不明白为什么不能使用搜索参数。可以在不重新加载的情况下更改搜索