我在这里设置了一个非常简单的示例: https://stackblitz.com/edit/angular-6rcn6c
clickMe(){
console.log('what is going on');
}
getImage(){
const _image = '<img src="https://icon-library.net/images/happy-icon/happy-icon-27.jpg">';
return this.sanitizer.bypassSecurityTrustHtml(_image);
}
和
<button (click)="clickMe()">Click me</button>
<div [innerHTML]="getImage()"></div>
当我有一个包含图像的innerHTML绑定元素,然后在其他位置有另一个按钮,如果在单击按钮时禁用了缓存(只需在开发工具中打开“网络”标签), div看起来像是重新绑定的,并且“网络”标签显示了重新加载的图像。这会在chrome(和Edge开发)上发生,但在Firefox上不会发生。
如果您的机器上没有视频,请观看:https://drive.google.com/file/d/1f0v3jBy8Bvuv_5JVV1HHvQHipAo2_Ok3/view
编辑 另外需要注意的是,当内置有youtube视频的iframe在Chrome和FireFox上具有或不具有缓存功能时,此行为都会持续存在。“网络”标签显示每次点击事件时youtube视频已重新加载。
您知道这种行为的解释吗?