У обычного JavaScript есть window.onbeforeunload. Как эмулировать то же самое в AngularJS с помощью маршрутов HTML5?
Существует $beforeRouteChange, но он не позволяет вам отменить событие, насколько я могу судить.
Чтобы уточнить: window.onbeforeunload будет работать для перехода от страницы, но не для внутристраничной навигации, например. переход от одного контроллера к другому только через API истории HTML5.