8
#/order/123?status=success

击中路线'/order/:id'并前往OrderCtrl

一旦我们访问$routeParams.query,我们想要清除 的 url #/order/123。如何做到这一点?

4

2 回答 2

17

使用该$location服务,您可以通过为其分配一个空值来删除搜索参数:

$location.search( 'status', null );

但是您应该注意,默认情况下,这将重新加载当前路由。如果您不想重新加载当前路由,可以在路由定义中禁用它:

$routeProvider.when( '/order/:id', {
  // yada yada...
  reloadOnSearch: false
});

但是$routeUpdate意志仍然会触发并且可以做出反应。

于 2013-01-25T17:27:03.583 回答
12

删除所有搜索参数的更有效方法可能是

$location.search({});
于 2014-02-12T14:59:35.820 回答