0

我有一个带有嵌套视图和嵌套状态的父状态。嵌套视图是一个 IP 列表,它是对服务器的昂贵调用,应该只在第一次加载时发生。单击 IP 应更新 URL 并导致traffic.details状态更新,但不更新列表。网址应如下所示:/traffic/details?ip=127.0.0.1

父 url/traffic?ipip用于所有嵌套状态。做完之后:

$state.transitionTo("traffic.details", { ip: "127.0.0.1"}); 

两种情况:

  • 它将按预期更新 URL,但会破坏并重新创建嵌套视图。

  • 如果我preventDefault()处于$scope.$on('$stateChangeStart')父状态,它不会重新加载嵌套视图并重新加载traffic.details状态(预期的行为),但它不会更新 URL。

如何在不更新其嵌套视图的情况下更新父状态的 URL?

4

1 回答 1

0

如果不重新加载所有子项,则无法更新父 URL。将状态置于父状态之下但高于所有子状态,将其设置为抽象,并将其 url 设置为 '?ip',然后从父状态的 URL 中删除相同的位。

于 2013-10-19T02:14:51.390 回答