我有一个iframe,在满足特定条件时动态加载。
<div *ngIf="iframeData">
<iframe [src]="sanitizer.bypassSecurityTrustResourceUrl(iframeData.iFrameUrl)" name="paymetricIFrame"></iframe>
</div>
我的问题是,每当页面中的任何内容(框架之外)发生更改(输入文本、选择值等),iFrame内容就会重新加载,我可以看到包含的所有脚本都被重新加载到网络选项卡中,因此用户在iFrame中填写的内容就会消失。
我怀疑
ChangeDetectionStrategy
因为加载iframe文件的调用的启动器的堆栈跟踪返回到
viewRef._detectChanges
从屏幕截图中可以看到:
我试图添加
ChangeDetectionStrategy.OnPush
但这在页面上产生了其他问题。