Angular Кнопка возврата Instagram / Youtube, восстановление данных и положение прокрутки - PullRequest
0 голосов
/ 05 августа 2020

Как воспроизвести функциональность Youtube / Instagram, когда пользователь нажимает кнопку возврата в браузере, он перенаправляется на предыдущую страницу с теми же данными и положением прокрутки (без перезагрузки данных)?

Какой инструмент / пакеты и то, как будет выглядеть весь процесс. Я попытался найти возможные решения, но не нашел никаких полезных результатов.

1 Ответ

0 голосов
/ 21 августа 2020

Если вы используете @ angular / router для навигации, интерфейс RouteReuseStrategy - это то, что вам нужно. В частности, метод shouldreuseroute позволит вам настроить, если вы хотите повторно использовать какой-либо маршрут; это предотвратит уничтожение сопоставленного компонента маршрута (компонента, загружаемого при активации этого маршрута) после того, как пользователь уйдет с этого маршрута (или с этой страницы). Если маршрут настроен для повторного использования, соответствующий компонент страницы будет кэширован и будет отображаться как есть при следующем срабатывании этого маршрута.

Если вы не хотите использовать этот подход или если вы не используйте @ angular / router , другим (грязным, менее предпочтительным) подходом будет кэширование ваших данных и прокрутка позиции до Angular Service, который объявлен в AppModule (чтобы он не получал уничтожается при переключении компонентов или модулей) и вводится в компонент, данные которого вы хотите сохранить.

Но я бы go для первого подхода.

Учебное пособие по RouteReuseStrategy:

https://medium.com/javascript-in-plain-english/angular-route-reuse-strategy-b5d40adce841

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...