$ location.search - 使用后清理

时间:2015-12-16 14:41:34

标签: angularjs

团队是AngularJS的新手,在我们的项目中有一个网页,其中包含一个按钮,当点击它时,我们这样做:

$location.path("/newpage").search({param:value})

我们只想导航到另一个页面并传递一些参数。 它有效,但如果在第二页之后我们这样做:

$location.path("/anotherpage") - 路径发生变化但参数仍然存在!当然,之后我可以做.search({})

但这不是很难看 - 每次我们做.search时明确清除$location.path参数吗?

我只是不知道经验丰富的开发人员在成熟项目中是如何做到这一点的,也许我们建议在每次更改位置时清理.search参数,除非在特定情况下需要保留它们? / p>

或许我们根本不应该使用$location setter,而是使用其他东西?

1 个答案:

答案 0 :(得分:0)

这是我收到的唯一答案,它来自#angularjs IRC。 wafflejock说他通常使用ui-router及其状态。

到目前为止,这可能是我要找的东西:

  1. 与$ location一样,它允许传递参数(在一个州),
  2. 它有go(),它默认继承状态参数,但也有transitionTo(),默认情况下没有,所以我可以使用后者,除非我想进行状态,
  3. 更重要的是,如果我没有传递继承的参数然后想要回到我来自的地方,并且该页面有一些参数,我将无法使用$ location恢复它们,但是可以使用$ state,因为我可以说"转换回父州"。
  4. 还有其他好主意吗?