在Angular中实现图片的懒加载可以通过Intersection Observer API来实现。以下是一个简单的示例:
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
@ViewChild('imageElement') imageElement: ElementRef;
ngOnInit() {
const options = {
root: null,
rootMargin: '0px',
threshold: 0.5
};
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
this.loadImage();
observer.unobserve(this.imageElement.nativeElement);
}
});
}, options);
observer.observe(this.imageElement.nativeElement);
}
loadImage() {
const imageSrc = this.imageElement.nativeElement.getAttribute('data-src');
this.imageElement.nativeElement.setAttribute('src', imageSrc);
}
<img #imageElement data-src="path/to/image.jpg" />
这样当图片元素进入视口时,Intersection Observer会触发加载图片的操作,实现图片的懒加载效果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。