Вы можете использовать библиотеку ng-lazyload-image.
установить ее через npm install ng-lazyload-image --save
и затем объявить ее в app.module.ts как
import { LazyLoadImageModule, intersectionObserverPreset } from 'ng-lazyload-image';
и добавьте его в импорт
LazyLoadImageModule.forRoot({
preset: intersectionObserverPreset
})
Затем просто добавьте [lazyLoad]="image"
вместо src="image"
, куда вы хотите лениво загрузить изображение.
Протестировал его сам и он отлично работает.