Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
Всем привет. Столкнулся с проблемой: при переходе назад/вперёд (кнопки браузера) не сохраняются состояния страниц. Проблема в том, что при переходе по маршрутам компоненты уничтожаются и заново создаются. Соответственно у DetailsPage вызывается ngOnInit(), в котором происходит ленивая загрузка объектов. После нажатии на элементе (чтобы открыть DetailPage) происходит ngOnDestroy(). При возвращении из DetailPage снова вызывается ngOnInit() у DetailsPage. Как сделать, чтобы при переходах angular мог хранить состояния? app.module.ts Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. app.component.html Код: javascript 1. details.ts Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. details.html Код: javascript 1. 2. 3. 4. 5. Использую версию @angular/core": "^2.3.1", "@angular/router": "^3.3.1". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 12:27 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringo, Не знаю как в 2 версии, а в 1.* при смене урла (кнопки назад/вперёд) полностью перезагружается контроллер. Т.е. аналогично твоему случаю, и приходится в $destroy у тебя видимо это ngOnDestroy() делать некий снапшот (только необходимые для восстановления состояния данные, например номер текущей строки, количество записей на странице, текущая страница в пагинаторе и т.д.). Снапшот хранится с синглтоне (в 1.* это factory) а в ngOnInit всё это накатывать с нуля. Другого способа я не нашёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:12 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringo, https://angular.io/docs/ts/latest/api/router/index/RouteReuseStrategy-class.html https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2017, 13:40 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
hVostt, Спасибо, получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 11:12 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
На мастер странице таблица с очень многими записями. Как сделать чтобы при возвращении назад также запоминалось положение курсора? Сейчас при возврате показывается сверху. Приходится прокручивать страницу вниз, чтобы посмотреть какую я запись выбрал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 18:27 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringo, Может стоить изменить подход? Например, при выборе записи открывать действие, связанное с записью, не на другой странице, а в модальном окне или открывать внутри приложения вкладку? Это вам здорово упростит жизнь. Полностью восстанавливать состояние вплоть до положения элементов может быть затратным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 18:40 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
увы, таковы требования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 18:47 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringo, открыть можно и в другом окне , прежнее не трогать — не нужно и восстанавливать восстанавливать можно с помощью якоря ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:25 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringoувы, таковы требования Значит сохранять положение, ибо оно нигде не хранится отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:29 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
вадяоткрыть можно и в другом окне , прежнее не трогать — не нужно и восстанавливать восстанавливать можно с помощью якоря Ты как обычно несёшь оголтелую чушь, и не имеешь ни малейшего понятия, о чём вообще идёт речь. Какой якорь? Какое другое окно? Иди уже проспись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:30 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
hVostt, чтоб перейти на позицию в длинной странице есть такой термин якорь. #idэемента если надо сохранить состояние страницы, при переходе на новую, то вместо перехода можно открыть новую в новом окне и старое будет «сохранено» ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 20:06 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
вадячтоб перейти на позицию в длинной странице есть такой термин якорь. #idэемента Вот об этом я и говорю. Речь не идёт о позиции на странице. Но тебе не понять, так ты не знаешь даже о чём идёт речь. А не знаешь ты по одной простой причине: у тебя нет опыта в разработке веб-приложений. вадяесли надо сохранить состояние страницы, при переходе на новую, то вместо перехода можно открыть новую в новом окне и старое будет «сохранено» Незачем плодить окна и табы, если всё гораздо эффективней можно реализовать на одной странице. Ну только, если по-другому ты просто не умеешь и не знаешь как это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 20:26 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
hVostt sanringoНа мастер странице таблица с очень многими записями. Как сделать чтобы при возвращении назад также запоминалось положение курсора? Сейчас при возврате показывается сверху. Приходится прокручивать страницу вниз, чтобы посмотреть какую я запись выбрал. как бы самое то с помощью якоря переходить или с помощю скрола я это с помощью якоря элементарно делаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 21:08 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
вадякак бы самое то с помощью якоря переходить или с помощю скрола я это с помощью якоря элементарно делаю Потому что ты делаешь унылые сайты, а не приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 21:37 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
sanringoНа мастер странице таблица с очень многими записями. Как сделать чтобы при возвращении назад также запоминалось положение курсора? Сейчас при возврате показывается сверху. Приходится прокручивать страницу вниз, чтобы посмотреть какую я запись выбрал. Записать в историю нужный урл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 22:07 |
|
||
|
Angular2 и сохранение состояния при переходах
|
|||
|---|---|---|---|
|
#18+
hVosttПотому что ты делаешь унылые сайты, а не приложения чья бы корова мычала... новое в диагностике!!!! если у вас что-то не работает - значит у вас не унылый сайт , а приложение. надо срочно переделывать на унылый сайт и всё будет работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 07:08 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39397562&tid=1444782]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
84ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 182ms |

| 0 / 0 |
