angular - 如何以角度8循环iframe
问题描述
iframe 一直在重新加载。有没有办法停止重新加载?
我的代码
<ng-container *ngFor="let element of elements">
<iframe
[src]="sanitizer.bypassSecurityTrustResourceUrl(element?.src)"
width="500"
height="500"
>
</iframe>
</ng-container>
解决方案
您的问题是 ypu 正在绑定一个函数。Angular 不知道函数值何时更新(它绑定到引用),因此您遇到了这个问题。吸气剂也会发生同样的事情。
我的建议是您执行以下操作:
在组件中创建成员变量
public elementSrc = [];
在代码中分配 init 函数中的源代码,或者在您更改值的任何位置。
// For each of your elements
this.elementSrc[i] = sanitizer.bypassSecurityTrustResourceUrl(element[i]?.src)
并像这样在您的代码中分配
<ng-container *ngFor="let element of elements; let i = index">
<iframe
[src]="elementSrc[i]"
width="500"
height="500"
>
</iframe>
</ng-container>
您可以采用的另一种方法是在绑定之前对每个元素的 src 进行清理,然后仅使用 element.sanitizedSrc 进行绑定
推荐阅读
- sql - 在 'where' 和 'and' 运算符中一一绑定 id
- javascript - React Native,有很多组件会影响性能?
- python - 当我正常运行时容器工作正常但是当我使用任务定义通过 ecs 运行它时它的抛出错误
- ios - 如果我不想要新的更新,让 ios 分发证书过期
- ui-automation - 赛普拉斯 - 使用各种语言的环境变量
- reactjs - onClick 方法没有被调用,Reactjs,Typescript
- python - Matplotlib:在具有正确顺序和大小的图像顶部显示散点图
- node.js - 如何选择特定的预发布版本?
- ios - ImageView 中的中心图像在 TableView 内
- deep-learning - 如何在一个模型中训练多个损失,并在 pytorch 中选择冻结网络的某些部分?