延迟加载 ngFor

Lazy loading ngFor

我对延迟加载和 Angular4 有疑问。我有一个这样的 ngFor:

<div *ngFor="let wid of widgets"></div>`

wid 是这样的:

<div>
 <iframe [src]="url"></iframe>
</div>

并且我需要 wid 启动以仅在屏幕上可见时加载 iframe。有人知道 Angular2/4 的任何技巧或模块吗?不幸的是我不能使用 jQuery.

有两种方法可以做到这一点

1) 将组件放在一个不是主模块的模块中,并在 this

之后延迟加载它

2) 在 div 中添加一个 *ngIf="ready" 语句,并在你的 ts 文件中添加一个变量 ready = false。使用 lifcycle 钩子更改 ready 为 true。

ngAfterViewInit(){ ready = true; }