我有表格,当编辑时,如果用户重定向到新页面,我必须发出警告消息,不保存数据。一旦用户按下确定,它就必须重定向到预期的页面。我能够通过防止更改lcoation来传递消息,但是一旦单击“确定”按钮,路径就不会改变。
$scope.$on "$locationChangeStart", (event, newUrl) ->
if userSettingsService.getUserDataFormEdited()
event.preventDefault()
alertService.show($scope.formNotSaved)
.then (response) ->
switch
when response.isOK()
$window.location.href = newUrl
return
return
alertService负责警告消息
这种使用$ locationChangeStart的方法是否正确?请帮我解决这个问题
答案 0 :(得分:0)
问题是,首先在浏览器中有角度做路由更改。
因此即使您添加代码检查/验证任何内容,您也必须手动恢复浏览器路径:
$window.history.back();
但我不认为这是你想要做的,最好的解决方案是在任何路线改变之前处理你的alert
。我建议您将代码添加到ng-submit
的{{1}}属性中。