如何在显示 Angular 网站之前加载图像
How to load images before showing an Angular Website
我一直在Angular做一个网站,我需要在显示之前加载所有图片。
我试图找到一种方法来制作一个预加载器视图,该视图将在加载位于 /assets
文件夹中的所有图像之前显示,但我找不到任何东西。
如何在 Angular 中正确执行?
我可以给你 2 个选项来完成(假设你有图像 url 列表):
第一种方式
images = ["IMG_1_SRC","IMG_2_SRC"];
loaded = 0;
loadImages(){
for(let i = 0; i < this.images.length; i++){
let img = new Image();
img.onload = () => {
this.loaded();
}
img.src = this.images[i];
}
}
loaded(){
this.loaded++;
if(this.images.length == this.loaded){
//all images loaded
}
}
第二种方式
images = ["IMG_1_SRC","IMG_2_SRC"];
loaded = 0;
<img hidden *ngFor="let img of images;" [src]="img" (load)="loaded()" />
loaded(){
this.loaded++;
if(this.images.length == this.loaded){
//all images loaded
}
}
我一直在Angular做一个网站,我需要在显示之前加载所有图片。
我试图找到一种方法来制作一个预加载器视图,该视图将在加载位于 /assets
文件夹中的所有图像之前显示,但我找不到任何东西。
如何在 Angular 中正确执行?
我可以给你 2 个选项来完成(假设你有图像 url 列表):
第一种方式
images = ["IMG_1_SRC","IMG_2_SRC"];
loaded = 0;
loadImages(){
for(let i = 0; i < this.images.length; i++){
let img = new Image();
img.onload = () => {
this.loaded();
}
img.src = this.images[i];
}
}
loaded(){
this.loaded++;
if(this.images.length == this.loaded){
//all images loaded
}
}
第二种方式
images = ["IMG_1_SRC","IMG_2_SRC"];
loaded = 0;
<img hidden *ngFor="let img of images;" [src]="img" (load)="loaded()" />
loaded(){
this.loaded++;
if(this.images.length == this.loaded){
//all images loaded
}
}