Comments 15
Всё что касается Angular, достойно тихой благодарности. Раньше даже не задумывался о том, что пользователь может перейти на другую страницу не дождавшись длинных процедур. Спасибо.
0
Ну не знаю, иногда архитектура ангулара просто выносит мозг. Особенно при переходе с традиционных решений.
+4
Традиционные решения — это jQuery?
Сам изучал angular попутно с js (любовь к нему появилась из-за angular), так вот с angular сложности не было, а вот возможности js крышу как раз таки сносят(после java). Но они замечательны!
Сам изучал angular попутно с js (любовь к нему появилась из-за angular), так вот с angular сложности не было, а вот возможности js крышу как раз таки сносят(после java). Но они замечательны!
0
А какие это — традиционные решения?
0
Примерчик бы… По типу как для uiRouter github.com/tamtakoe/angular-demos/blob/master/delayed_routing/js/app.js
0
Ничего против Angular, но именно такую плюшку проще сделать на чистом javascript:
window.onbeforeunload = function () { return "You have unsaved changes. Leave the page?"; }
0
Приложения AngularJS — это одностраничные приложения, которые отрисовывают вид в HTML дереве (div например). Соответственно, в одностраничных приложениях вызов этой функции производиться не будет.
0
Кто же тогда меняет URL? Если приложение само, то зачем городить огород, когда можно просто перед сменой URL проверить изменения и простым confirm диалогом спросить тоже самое.
Если все таки пользователь, то вызов event'а «beforeunload» происходит как всегда…
PS. Что такое Angular я в курсе.
Если все таки пользователь, то вызов event'а «beforeunload» происходит как всегда…
PS. Что такое Angular я в курсе.
0
Навигация в контексте Angular происходит не изменением URL, а её части, находящейся после хэш-тега. Я проверил, и в данном случае эта функция не вызывается. Возможно это сработает в режиме html5mode, но сомнительно, ведь в данном случае придётся перезагружать всё окно(скрипты, стили), и приложение уже не будет одностраничным?
Если происходит переход пользователем из-за изменения адресной строки — то да, ваш подход должен сработать, но, как я понимаю, без адаптации Вашего кода в Angular контекст — это антипаттерн.
В итоге — да, приложение само меняет часть URL после хэш-тега, а данная статья как раз и показывает, как это сделать средствами приложения.
Если происходит переход пользователем из-за изменения адресной строки — то да, ваш подход должен сработать, но, как я понимаю, без адаптации Вашего кода в Angular контекст — это антипаттерн.
В итоге — да, приложение само меняет часть URL после хэш-тега, а данная статья как раз и показывает, как это сделать средствами приложения.
0
Хотите сказать, что AngularJS — отбирает у пользователя возможность нажать на кнопку F5? =)
Правильным ходом было бы обработать оба случая.
Правильным ходом было бы обработать оба случая.
0
Sign up to leave a comment.
Отмена изменения пути в AngularJS