我有一个具有嵌套视图和嵌套状态的父状态。嵌套视图是一个IP列表,对服务器的昂贵调用应该只在第一次加载时发生。单击IP应更新URL并导致traffic.details
状态更新但不更新列表。网址应如下所示:/traffic/details?ip=127.0.0.1
父网址为/traffic?ip
,ip
可供所有嵌套状态使用。做完之后:
$state.transitionTo("traffic.details", { ip: "127.0.0.1"});
两种情况:
它将按预期更新URL,但会破坏并重新创建嵌套视图。
如果preventDefault()
中的$scope.$on('$stateChangeStart')
处于父状态,则它不会重新加载嵌套视图并重新加载traffic.details
状态(预期行为)但它赢了“ t更新网址。
如何更新父状态的URL而不更新其嵌套视图?
答案 0 :(得分:0)
如果不重新加载所有子项,则无法更新父网址。将一个状态放在父级下面但是在所有子级之上,将其设置为abstract,并将其设置为“?ip”,然后从父状态的URL中删除相同的位。