Angular 2に問題がある場合は、iframeを持つコンポーネントを作成し、入力からソースを設定します。しかし、ロードするとonLoadを2回実行します.1つはsrc=''
、もう1つは実際の入力URLです。onLoadが複数回Iframeで発生する
iframeをビューに配置すると、そのURLをフックする方法がわかりません。
export class ExternalComponent implements OnInit {
@Input()
url: string;
private src: any;
constructor(private sanitizer: DomSanitizer) {
}
ngOnInit()
{
this.src = this.sanitizer.bypassSecurityTrustResourceUrl(this.url)
}
onLoad() {
}
}
HTML:
<iframe [src]="src" frameBorder="0" (load)="onLoad()"></iframe>
再現:http://plnkr.co/edit/Dnpmv6X2IO3WGQAg0372?p=preview
おかげ
iframeはどこですか? –
クラスコードによって隠されていましたが、今はそこにあります。 – Zaixu