Угловой - мне нужно избегать уничтожения компонента - PullRequest
0 голосов
/ 25 октября 2018

У меня есть компонент с элементом <iframe> внутри.

Этот компонент вызывается для маршрута.

Когда компонент вызывается, элемент <iframe> перезагружает содержимое,но мне нужно загрузить этот контент только один раз.Для этого мне нужно будет отменить уничтожение этого компонента.

Я пытался переместить этот элемент <iframe> в <body>, когда вызывается onDestroy, и повторно использовать его, когда этот компонент вызывается снова, нокогда вы перемещаете <iframe> к другому родителю, его содержимое перезагружается.

У кого-то есть идеи, как это сделать?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Я решил свою проблему!

Я создал компонент с position: fixed, на один уровень выше router-outlet компонента.

Когда пользователь входит вмаршрут, ngAfterViewInit будет вызывать фиксированный компонент, чтобы показать iframe.

Когда пользователь выходит из маршрута, OnDestroy будет вызывать метод, чтобы скрыть iframe.

0 голосов
/ 25 октября 2018

Я думаю, что вы ищете, будет RouteReuseStrategy .

Вместо того, чтобы уничтожать + заново создавать компоненты при последующих посещениях, вы можете повторно использовать ваши маршруты.

См. этот ответ для реализации.

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