处理AngularJS中的路径更改

时间:2013-04-22 06:04:37

标签: javascript angularjs

如果应用状态为脏,我正在努力处理后退按钮并向用户询问确认。关闭选项卡和重新加载已通过onbeforeunload挂钩处理。

我玩$routeChangeStart$beforeRouteChange等,但无法正确处理。 使用$routeChangeStart,在调用回调之前,路由会有效地更改。

处理这种情况的正确方法是什么?

感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

我相信$ locationChangeStart会在您希望的时候触发。

答案 1 :(得分:2)

你可以使用:

$scope.$on('$routeChangeStart', function(next, current) { 
   //broadcasted before a route change
   // do something here
});

$route

上查看更多内容

答案 2 :(得分:1)

在父控制器中保留脏状态的模型,对所有视图都是通用的?如果任何视图的控制器检测到脏状态,则会出现警告/确认,并使用“取消”按钮将$ location.path(...)重置为脏页。