Ask Your Question
2

How to prevent angular from reloading iframes while switching between components?

asked 2022-01-05 11:00:00 +0000

huitzilopochtli gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2023-04-09 04:00:00 +0000

bukephalos gravatar image

One way to prevent Angular from reloading iframes while switching between components is to use the ngIf directive to conditionally add or remove the iframe from the DOM when the component is switched.

For example, in the HTML template of the component that contains the iframe:

<div *ngIf="showIframe">
  <iframe src="https://example.com"></iframe>
</div>

Then, in the component's TypeScript file, set the showIframe boolean to true when the component is first loaded, and set it to false when the component is destroyed:

import { Component, OnInit, OnDestroy } from '@angular/core';

@Component({
  selector: 'app-my-component',
  template: `
    <div *ngIf="showIframe">
      <iframe src="https://example.com"></iframe>
    </div>
  `
})
export class MyComponent implements OnInit, OnDestroy {
  showIframe = true;

  ngOnInit() {
    // component initialization logic
  }

  ngOnDestroy() {
    this.showIframe = false;
  }
}

This way, the iframe will only be loaded once and will remain in the DOM but hidden when the component is switched, preventing it from reloading.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2022-01-05 11:00:00 +0000

Seen: 9 times

Last updated: Apr 09 '23