νν°λ§ κ°λ₯ν 컬λ μ μμ ng-lazyload-imageλ₯Ό μ¬μ©νκ³ μμ΅λλ€. μ€ν¬λ‘€ ν λ μ μλνμ§λ§ λͺ©λ‘μ νν°λ§νλ©΄ μΆμνμ΄ λνλμ§ μμ΅λλ€. μ€ν¬λ‘€ μ΄λ²€νΈκ° λ°μνμ§ μκΈ° λλ¬Έμ λ°μν©λλ€. μ‘°κΈ μ€ν¬λ‘€νλ©΄ λνλ©λλ€.
ν΄ν€ ν΄κ²° λ°©λ²μ μ°Ύμμ§λ§ λ§μ‘±μ€λ½μ§ μμ΅λλ€.
// -1, +1 is there to fire the scroll event. Otherwise chrome/ff wont fire it.
window.scrollTo(window.scrollX, window.scrollY - 1);
window.scrollTo(window.scrollX, window.scrollY + 1);
μλ νμΈμ @philipgiuliani ,
λ¬Έμ λ ng-lazyload-image
λ μ¬μ©μκ° μ€ν¬λ‘€ ν λ μ΄λ―Έμ§κ° λ·°ν¬νΈμ μλμ§ λ§ νμΈνλ€λ κ²μ
λλ€. μ€ν¬λ‘€ μ΄λ²€νΈκ°μλ ν ng-lazyload-image
λ μ무κ²λνμ§ μμ΅λλ€.
λ°λΌμ μ¬μ© μ¬λ‘λ₯Ό ν΄κ²°νλ €λ©΄ μ£Όλ³ μΈμμ΄ λ³κ²½λμμμ ng-lazyload-image
μλ €μΌν©λλ€. μ΄λ₯Ό μννλ λ κ°μ§ λ°©λ²μ΄ μμ΅λλ€.
ng-lazyload-image
λ₯Ό μμΌ κ²μ
λλ€. κ·Έλ¬λ κ·Έμ ν΄κ²°μ±
μ μμμ§ μμ΅λλ€.// In your component
constructor() {
this.updateSearchResult$ = new Subject();
this.scrollAndSearch$ = Observable.merge(
Observable.fromEvent(window, 'scroll')
this.updateSearchResult$
);
}
onSerachResultResponse() {
this.updateSearchResult$.next()
}
// in your template
<img [lazyLoad]="lazyLoadImage" [customObservable]="scrollAndSearch$" />
μ΄κ²μ΄ κ·νμ μ§λ¬Έμ λν λ΅λ³μ λκΉ?
λΉμ·ν λ¬Έμ μ λν ν΄κ²°μ± μ μ°Ύκ³ μμκ³ κ³΅μ νκ³ μΆμ΅λλ€.μ΄ λ¬Έμ κ° μ¬λλ€μ΄ μλ§ μ°Ύμ μμλ κ³³μ΄λΌκ³ μκ°νκΈ° λλ¬Έμ λλ€.
λ¬Έμ μ : μ€νμ
λ΄μμ 보μ΄μ§ μλλΌλ μ§μ° ν μ΄λ―Έμ§λ‘λ
μ루μ
: κ³ μ μ€νμ
λμ μ€νμ
κ°μ λν Observableμ μμ±νκ³ μνλ μκ° νμ μ λ§ λμ μ€νμ
μ μ€μ ν©λλ€.
// in the Angular 2+ component
constructor () {
this.imageLoadOffset$ = Observable.merge(
Observable.of(300), // initial offset
Observable.of(100000).delay(5000) // offset triggering loading after 5 seconds
);
}
// in the template
<img [lazyLoad]="'foo.png'" [offset]="imageLoadOffset$ | async" />
κΈ°μ¬ν΄ μ£Όμ μ κ°μ¬ν©λλ€. Readme νμΌμμ΄ λ¬Έμ μ λν λ§ν¬λ₯Ό μΆκ°νμ΅λλ€.
컨ν μ΄λλ₯Ό λΉ λ₯΄κ² μ€ν¬λ‘€νλ©΄ μ€ν¬λ‘€ λ μ΄λ―Έμ§κ°λ‘λλμ§ μκ³ μ€ν¬λ‘€ ν νμ¬ λ·°ν¬νΈμ μ΄λ―Έμ§κ°λ‘λλ©λλ€. μ΄λ»κ²ν΄μΌν©λκΉ? ?
@pangshangggg , μ£μ‘νμ§λ§ μ΄ν΄κ° μ λΌμ. Google λ²μμ μ¬μ©νλ €κ³ νμ§λ§ μ§λ¬Έμ μ΄ν΄νμ§ λͺ»νμ΅λλ€ : / μμ΄λ‘ μΈ μ μμ΅λκΉ?
Ionic 2/3μμλ μ¬μ©μκ° μ€ν¬λ‘€μ μμν λκΉμ§ μ΄λ―Έμ§κ°λ‘λλμ§ μμ΅λλ€. λ κ°μ§ λ°©λ²μΌλ‘μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
κ°μ₯ μΆμ
ν λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
@ViewChild(Content) container: Content;
ionViewDidEnter() {
this.container.scrollTo(this.container.scrollLeft, this.container.scrollTop + 1);
this.container.scrollTo(this.container.scrollLeft, this.container.scrollTop - 1);
}
κ·Έλ¦¬κ³ μ΄κ²μ΄ μ’μ λ°©λ²μ λλ€.
@ViewChild(Content) container: Content;
contentLoaded: Subject<any> = new Subject();
loadAndScroll: Observable<any>;
ionViewDidEnter() {
this.contentLoaded.next();
}
ionViewDidLoad() {
this.loadAndScroll = Observable.merge(
this.container.ionScroll,
this.contentLoaded
);
}
(in the template : [customObservable]="loadAndScroll" )
μμ κ²μ λ μ루μ μ ionicμΌλ‘ λ° κΎΈμμ΅λλ€. λ μ΄μ :)
Angular 6 λ° rxjs 6μμ μ΄μ μμ λ₯Ό λ°λΌ μ€ν¬λ‘€ μ΄λ²€νΈμ μν μ§μ°λ‘λλ₯Ό μλμΌλ‘ νΈλ¦¬κ±°νλ €κ³ νμ§λ§ μλνμ§ μμ΅λλ€. νμ΄μ§λ₯Ό μ€ν¬λ‘€νμ§ μκ³ λͺ¨λ μ΄λ―Έμ§κ° μ°¨λ‘λ‘λ‘λλ©λλ€. μ΄κ²μ λ΄ μ½λμ λλ€.
μ£Όν:
<div *ngFor="let image of images">
<img [defaultImage]="defaultImage"
[lazyLoad]="image"
[useSrcset]="true"
[offset]="offset" [scrollObservable]="scrollObservable" >
</div>
κ΅¬μ± μμ:
scrollObservable = fromEvent(window, 'scroll');
el-Davoκ° Angular 5μ λ¬Έμ λ₯Ό ν΄κ²°νλ€κ³ λ§ν 224 νΈμμμ΄ μμ λ₯Ό λ°λμ΅λλ€.
Ionic 2/3μμλ μ¬μ©μκ° μ€ν¬λ‘€μ μμν λκΉμ§ μ΄λ―Έμ§κ°λ‘λλμ§ μμ΅λλ€. λ κ°μ§ λ°©λ²μΌλ‘μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
κ°μ₯ μΆμ ν λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.@ViewChild(Content) container: Content; ionViewDidEnter() { this.container.scrollTo(this.container.scrollLeft, this.container.scrollTop + 1); this.container.scrollTo(this.container.scrollLeft, this.container.scrollTop - 1); }
κ·Έλ¦¬κ³ μ΄κ²μ΄ μ’μ λ°©λ²μ λλ€.
@ViewChild(Content) container: Content; contentLoaded: Subject<any> = new Subject(); loadAndScroll: Observable<any>; ionViewDidEnter() { this.contentLoaded.next(); } ionViewDidLoad() { this.loadAndScroll = Observable.merge( this.container.ionScroll, this.contentLoaded ); } (in the template : [scrollObservable]="loadAndScroll" )
μμ κ²μ λ μ루μ μ ionicμΌλ‘ λ° κΎΈμμ΅λλ€. λ μ΄μ :)
μ£μ‘νμ§λ§ λ¬Έμ κ° μμ΅λλ€.
this.contentLoaded.next ();
μλ μν¨
μ€ν¬λ‘€ ν λλ§ μ μλν©λλ€.
???
μλ
νμΈμ @zarinara ,
not working
λΌκ³ λ§νλ©΄ μ€λ₯κ° λ°μν©λκΉ?
μλ
νμΈμ
μ€λ₯κ° λ°μνμ§ μμ
@zarinara λ , μ μ΄μλ₯Ό μμ±νκ³ λͺ κ°μ§ μ½λ μμ μ ng-lazyload-image
( npm ls ng-lazyload-image
)μ λ²μ λ²νΈλ₯Ό ν¬ν¨ ν μ μμ΅λκΉ? intersectionObserver
μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ @philipgiuliani ,
λ¬Έμ λ
ng-lazyload-image
λ μ¬μ©μκ° μ€ν¬λ‘€ ν λ μ΄λ―Έμ§κ° λ·°ν¬νΈμ μλμ§ λ§ νμΈνλ€λ κ²μ λλ€. μ€ν¬λ‘€ μ΄λ²€νΈκ°μλ νng-lazyload-image
λ μ무κ²λνμ§ μμ΅λλ€.λ°λΌμ μ¬μ© μ¬λ‘λ₯Ό ν΄κ²°νλ €λ©΄ μ£Όλ³ μΈμμ΄ λ³κ²½λμμμ
ng-lazyload-image
μλ €μΌν©λλ€. μ΄λ₯Ό μννλ λ κ°μ§ λ°©λ²μ΄ μμ΅λλ€.ng-lazyload-image
λ₯Ό μμΌ κ²μ λλ€. κ·Έλ¬λ κ·Έμ ν΄κ²°μ± μ μμμ§ μμ΅λλ€.μ΄κ²μ΄ κ·νμ μ§λ¬Έμ λν λ΅λ³μ λκΉ?