Skip to content

Commit 837800b

Browse files
authored
Merge pull request #11 from thisissoon/hotfix/on-changes
fix(component): setPlaceholder called in Angular onChanges life cylce…
2 parents 236a9e9 + 2006718 commit 837800b

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/app/image-loader/image-loader/image-loader.component.spec.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,4 +212,10 @@ describe('ImageLoaderComponent', () => {
212212
component.checkInViewportStatus();
213213
expect(spy).toHaveBeenCalled();
214214
});
215+
216+
it('should set placeholder on changes', () => {
217+
const spy = spyOn(component, 'setPlaceholder');
218+
component.ngOnChanges();
219+
expect(spy).toHaveBeenCalled();
220+
});
215221
});

src/app/image-loader/image-loader/image-loader.component.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import {
1010
OnDestroy,
1111
ViewChild,
1212
ElementRef,
13-
NgZone
13+
NgZone,
14+
OnChanges
1415
} from '@angular/core';
1516
import { Subject } from 'rxjs/Subject';
1617
import { Observable } from 'rxjs/Observable';
@@ -50,7 +51,7 @@ import {
5051
templateUrl: './image-loader.component.html',
5152
styleUrls: [ './image-loader.component.scss' ]
5253
})
53-
export class ImageLoaderComponent implements OnInit, AfterViewInit, OnDestroy {
54+
export class ImageLoaderComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {
5455
/**
5556
* URL of image for `img` element to display
5657
* @memberof ImageLoaderComponent
@@ -331,4 +332,14 @@ export class ImageLoaderComponent implements OnInit, AfterViewInit, OnDestroy {
331332
this.ngUnsubscribe$.next();
332333
this.ngUnsubscribe$.complete();
333334
}
335+
/**
336+
* Trigger image preload on changes.
337+
* Prevents angular from reusing rendered image
338+
* after changes.
339+
*
340+
* @memberof ImageLoaderComponent
341+
*/
342+
public ngOnChanges(): void {
343+
this.setPlaceholder();
344+
}
334345
}

0 commit comments

Comments
 (0)