Ng-lazyload-image: μ•Œλ €μ§„ λ„€μ΄ν‹°λΈŒ 속성이 μ•„λ‹ˆλ―€λ‘œ 'lazyload'에 바인딩할 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 09μ›” 09일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: tjoskar/ng-lazyload-image

κΈ°μ‘΄ Ionic 2 ν”„λ‘œμ νŠΈ(Angular 2.0.0-rc.4λ₯Ό μ‚¬μš©ν•˜λŠ” 2.0.0-beta.11)λ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ„€μΉ˜ 및 μ„€μ •ν–ˆμ§€λ§Œ λ‹€μŒ 였λ₯˜κ°€ 계속 λ°œμƒν•©λ‹ˆλ‹€(λŸ°νƒ€μž„μ— 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 컴파일 μ‹œ 문제 μ—†μŒ).

image

λ‚΄κ°€ μ·¨ν•œ 단계:

μ‹€ν–‰ Npm:
$ npm install ng2-lazyload-image --save

λ‚΄ ꡬ성 μš”μ†Œλ‘œ κ°€μ Έμ˜€κΈ°:
import { LazyLoadImageDirective } from 'ng2-lazyload-image';

μ§€μ‹œμ–΄ μ„€μ •:
directives: [ LazyLoadImageDirective ]

λ³€μˆ˜ 및 κΈ°λ³Έκ°’ μ„€μ •:

export class PostComponent {
defaultImage: any = 'build/assets/preloader.gif';
offset = 100;
@Input() feedImage: string = 'build/assets/blank-default-feed-bg.png';
}

λ‚΄ ν…œν”Œλ¦Ώμ—μ„œ:
<img [src]="defaultImage" [lazyload]="feedImage" [offset]="offset" class="feed-image">

λ‚΄κ°€ κ°„κ³Όν•˜κ³  μžˆλŠ” 것이 μžˆμ„μ§€λ„ λͺ¨λ₯΄μ§€λ§Œ 그것이 무엇인지 λ³Ό 수 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ˜€νƒ€λ₯Ό λƒˆμŠ΅λ‹ˆλ‹€.
[lazyload]κ°€ μ•„λ‹ˆλΌ [lazyLoad]μž…λ‹ˆλ‹€.

건배 :)

λͺ¨λ“  5 λŒ“κΈ€

μ•ˆλ…•,

문제λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–€ λ²„μ „μ˜ ng2-lazyload-imageλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? λ‚΄κ°€ λ³Ό 수 μžˆλ„λ‘ ν”„λ‘œμ νŠΈκ°€ μ˜€ν”ˆ μ†ŒμŠ€μž…λ‹ˆκΉŒ?

λ‚΄κ°€ μ·¨ν•œ 단계:

$ npm install -g ionic<strong i="8">@beta</strong>
$ ionic --version
2.0.0-beta.37
$ ionic start ionic-lazy-load-images --v2
$ cd ionic-lazy-load-images
$ npm install [email protected] --save
$ ionic serve

μ½”λ“œ μ—…λ°μ΄νŠΈ:

`app/pages/home/home.html:

<ion-header>
  <ion-navbar>
    <ion-title>Home</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding class="home" #container>
  <h2>Welcome to Ionic!</h2>
  <p>
    This starter project comes with simple tabs-based layout for apps
    that are going to primarily use a Tabbed UI.
  </p>
  <p style="height: 1000px;">
    Take a look at the <code>app/</code> directory to add or change tabs,
    update any existing page or create new pages.
  </p>
  <img
    style="height: 1099px;"
    [src]="defaultImage"
    [lazyLoad]="image"
    [offset]="offset"
    [scrollTarget]="container._scroll._el">
</ion-content>

`app/pages/home/home.ts:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { LazyLoadImageDirective } from 'ng2-lazyload-image';

@Component({
  templateUrl: 'build/pages/home/home.html',
  directives: [ LazyLoadImageDirective ]
})
export class HomePage {
  defaultImage = 'https://www.placecage.com/1000/1000';
  image = 'https://hd.unsplash.com/photo-1441765425173-8fd330fb4a02';
  offset = 100;

  constructor(private navCtrl: NavController) {
  }
}

그리고 그것은 잘 μž‘λ™ν•©λ‹ˆλ‹€ :)

κ·ΈλŸ¬λ‚˜ ionic은 νƒ­(κΈ°λ³Έκ°’)을 μ‚¬μš©ν•˜κ³  슀크둀 μ»¨ν…Œμ΄λ„ˆμ— display: none λ₯Ό μΆ”κ°€ν•˜κΈ° λ•Œλ¬Έμ— 이미지가 μ²˜μŒμ— λ·°ν¬νŠΈμ— μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό κ²°μ •ν•˜λŠ” 것이 거의 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. ꡐ차 κ΄€μ°°μž 와 같은 것을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹μ§€λ§Œ Chromeμ—μ„œλ§Œ μž‘λ™ν•˜λ©° iOSλ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λŠ” 경우 Safariλ₯Ό μ‚¬μš©ν•  κ²ƒμž…λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ ν•œ 가지 해결책은 이미지가 숨겨져 μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€(예: el.offsetParent === null ). κ·ΈλŸ¬λ‚˜ 이미지가 λ‹€μ‹œ ν‘œμ‹œλ˜λ©΄ ng2-lazyload-image λŠ” μ•Œλ¦Όμ„ μˆ˜μ‹ ν•˜μ§€ μ•ŠμœΌλ©° 이미지가 λ·°ν¬νŠΈμ— 있으면 μ‚¬μš©μžκ°€ μŠ€ν¬λ‘€μ„ μ‹œμž‘ν•˜κΈ° μ „μ—λŠ” 이미지가 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ *ngIf μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

<img
    *ngIf="container._scroll._el.offsetParent !== null"
    style="height: 1099px;"
    [src]="defaultImage"
    [lazyLoad]="image"
    [offset]="offset"
    [scrollTarget]="container._scroll._el">

κ·ΈλŸ¬λ‚˜ 그것은 쒋지 μ•Šμ•„ λ³΄μž…λ‹ˆλ‹€ :/

λ”°λΌμ„œ (λ ˆμ΄μ•„μ›ƒμ— 따라) ionic μ•±μ—μ„œ ng2-lazyload-image λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ‚¬μš©ν•˜μ§€ λͺ»ν•  μˆ˜λ„ μžˆμ§€λ§Œ λŸ°νƒ€μž„ 였λ₯˜λŠ” λ°œμƒ ν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

μ˜€νƒ€λ₯Ό λƒˆμŠ΅λ‹ˆλ‹€.
[lazyload]κ°€ μ•„λ‹ˆλΌ [lazyLoad]μž…λ‹ˆλ‹€.

건배 :)

그것은 μ°½ν”Όν•  μ •λ„λ‘œ κ°„λ‹¨ν•˜κ²Œ λ“€λ¦½λ‹ˆλ‹€.
rc1으둜 μ—…κ·Έλ ˆμ΄λ“œν•΄μ„œ μ‚¬μš©ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”.

2016λ…„ 10μ›” 17일 μ›”μš”μΌ μ˜€ν›„ 1μ‹œ 37뢄에 Stan Faas [email protected]이 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

μ˜€νƒ€λ₯Ό λƒˆμŠ΅λ‹ˆλ‹€.
[lazyload]κ°€ μ•„λ‹ˆλΌ [lazyLoad]μž…λ‹ˆλ‹€.

건배 :)

β€”
μŠ€λ ˆλ“œλ₯Ό μž‘μ„±ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ©”μ‹œμ§€λ₯Ό λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/tjoskar/ng2-lazyload-image/issues/37#issuecomment -254195387,
λ˜λŠ” μŠ€λ ˆλ“œ μŒμ†Œκ±°
https://github.com/notifications/unsubscribe-auth/APPh0par6NR7EA3DA1GbibncX8gCb2YRks5q02wTgaJpZM4J5EjU
.

@StanFaas , 쒋은 캐치!

123
같은 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€ μ–΄λ–»κ²Œ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰