I have a component with an <iframe>
element inside.
This component is called for a route.
When the component is called, the <iframe>
element reloads the content, but I need load this content only once. For this, I will need to cancel the destroy of this component.
I tried moving this <iframe>
to <body>
element when the onDestroy
is called and reuse this when this component is called again, but when you move an <iframe>
to another parent, his content is reloaded.
Does someone have an idea of how do this?
I believe what you are looking for would be the RouteReuseStrategy .
Instead of destroying + re-creating components on consequent visits, you can re-use your routes.
See this answer for the implementation.
I solved my problem!
I created a component with position: fixed
, one level up of router-outlet
component.
When the user go in of the route, the ngAfterViewInit
will be call the fixed component to show the iframe
.
When the user go out of the route, the OnDestroy
will be call the method to hide the iframe
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.