Pull to refresh

Comments 15

Всё что касается Angular, достойно тихой благодарности. Раньше даже не задумывался о том, что пользователь может перейти на другую страницу не дождавшись длинных процедур. Спасибо.
Ну не знаю, иногда архитектура ангулара просто выносит мозг. Особенно при переходе с традиционных решений.
Традиционные решения — это jQuery?
Сам изучал angular попутно с js (любовь к нему появилась из-за angular), так вот с angular сложности не было, а вот возможности js крышу как раз таки сносят(после java). Но они замечательны!
Извините, но причем тут DOM-манипулятор jQuery? Это как коров с стульями сравнивать.
Я во front-end раньше не варился, понятия не имею что может быть традиционным решением кроме спагетти из js+jQuery. О том и вопрос.
Ну так бы и написали — JS-Спагетти, а до сих пор бывает и без jQuery :)
А какие это — традиционные решения?
В разделе выводы есть ссылка на гит репозиторий примера приложения.
Видел, но лень копаться в куче кода :)
Ничего против Angular, но именно такую плюшку проще сделать на чистом javascript:
window.onbeforeunload = function () { return "You have unsaved changes. Leave the page?"; }

Приложения AngularJS — это одностраничные приложения, которые отрисовывают вид в HTML дереве (div например). Соответственно, в одностраничных приложениях вызов этой функции производиться не будет.
Кто же тогда меняет URL? Если приложение само, то зачем городить огород, когда можно просто перед сменой URL проверить изменения и простым confirm диалогом спросить тоже самое.
Если все таки пользователь, то вызов event'а «beforeunload» происходит как всегда…
PS. Что такое Angular я в курсе.
Навигация в контексте Angular происходит не изменением URL, а её части, находящейся после хэш-тега. Я проверил, и в данном случае эта функция не вызывается. Возможно это сработает в режиме html5mode, но сомнительно, ведь в данном случае придётся перезагружать всё окно(скрипты, стили), и приложение уже не будет одностраничным?
Если происходит переход пользователем из-за изменения адресной строки — то да, ваш подход должен сработать, но, как я понимаю, без адаптации Вашего кода в Angular контекст — это антипаттерн.
В итоге — да, приложение само меняет часть URL после хэш-тега, а данная статья как раз и показывает, как это сделать средствами приложения.
Хотите сказать, что AngularJS — отбирает у пользователя возможность нажать на кнопку F5? =)

Правильным ходом было бы обработать оба случая.
Sign up to leave a comment.

Articles