Angular - 我需要避免破坏组件

Angular - I need avoid the destroy of the component

我有一个内部有 <iframe> 元素的组件。

为路由调用此组件。

调用组件时,<iframe> 元素会重新加载内容,但我只需要加载一次该内容。为此,我需要取消对该组件的销毁。

我尝试在调用 onDestroy 时将此 <iframe> 移动到 <body> 元素,并在再次调用此组件时重用它,但是当您移动 <iframe>对于另一位家长,他的内容已重新加载。

有人知道怎么做吗?

我相信您正在寻找的是 RouteReuseStrategy

您可以重新使用您的路由,而不是在后续访问时销毁 + 重新创建组件。

参见 实现。

我的问题解决了!

我用 position: fixed 创建了一个组件,比 router-outlet 组件高一级。

当用户进入路由时,ngAfterViewInit会调用固定组件显示iframe

当用户走出路线时,OnDestroy会调用隐藏iframe的方法。