Ng-lazyload-image: 'рдЖрд▓рд╕реАрд▓реЛрдб' рд╕реЗ рдирд╣реАрдВ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рдореВрд▓ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рд╕рд┐рддре░ 2016  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tjoskar/ng-lazyload-image

рдореИрдВ рдПрдХ рдореМрдЬреВрджрд╛ рдЖрдпреЛрдирд┐рдХ 2 рдкреНрд░реЛрдЬреЗрдХреНрдЯ (2.0.0-рдмреАрдЯрд╛.11, рдХреЛрдгреАрдп 2.0.0-рдЖрд░рд╕реА.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рд╕реЗрдЯрдЕрдк, рд▓реЗрдХрд┐рди рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ (рддреНрд░реБрдЯрд┐ рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╣реЛрддреА рд╣реИред рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ)

image

рдореИрдВрдиреЗ рдЬреЛ рдХрджрдо рдЙрдард╛рдП:

рджреМрдбрд╝рд╛ рдПрдирдкреАрдПрдо:
$ 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">

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдиреЗ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛ред
рдпрд╣ [рдЖрд▓рд╕реА рд▓реЛрдб] рд╣реИ, рдирд╣реАрдВ [рдЖрд▓рд╕реА рд▓реЛрдб]

рдЪреАрдпрд░реНрд╕ :)

рд╕рднреА 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

рдХреЛрдб рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛:

`рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдкреЗрдЬ/рд╣реЛрдо/рд╣реЛрдо.рдПрдЪрдЯреАрдПрдордПрд▓:

<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>

`рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдкреЗрдЬ/рд╣реЛрдо/рд╣реЛрдо.рдЯреАрдПрд╕:

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) {
  }
}

рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪреВрдВрдХрд┐ рдЖрдпрдирд┐рдХ рдЯреИрдм (рдкреНрд░рддрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрдВрдЯреЗрдирд░ рдкрд░ display: none рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╡реНрдпреВрдкреЛрд░реНрдЯ рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЪреМрд░рд╛рд╣реЗ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдХреНрд░реЛрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрдк рдЖрдИрдУрдПрд╕ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕рдлрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: /

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЫрд╡рд┐ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: 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">

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛: /

рддреЛ .. рдЖрдк рдЕрдкрдиреЗ рдЖрдпрдирд┐рдХ рдРрдк (рдЖрдкрдХреЗ рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдореЗрдВ ng2-lazyload-image рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХреЛрдИ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдиреЗ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛ред
рдпрд╣ [рдЖрд▓рд╕реА рд▓реЛрдб] рд╣реИ, рдирд╣реАрдВ [рдЖрд▓рд╕реА рд▓реЛрдб]

рдЪреАрдпрд░реНрд╕ :)

рдпрд╣ рд╢рд░реНрдордирд╛рдХ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВ rc1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдКрдБрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рд╕реЛрдо, рдЕрдХреНрдЯреВрдмрд░ 17, 2016 рдЕрдкрд░рд╛рд╣реНрди 1:37 рдмрдЬреЗ, рд╕реНрдЯреЗрди рдлрд╛рд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдЖрдкрдиреЗ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛ред
рдпрд╣ [рдЖрд▓рд╕реА рд▓реЛрдб] рд╣реИ, рдирд╣реАрдВ [рдЖрд▓рд╕реА рд▓реЛрдб]

рдЪреАрдпрд░реНрд╕ :)

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рд╕реВрддреНрд░ рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/tjoskar/ng2-lazyload-image/issues/37#issuecomment -254195387,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/APPh0par6NR7EA3DA1GbibncX8gCb2YRks5q02wTgaJpZM4J5EjU
.

@StanFaas , рдЕрдЪреНрдЫреА рдкрдХрдбрд╝!

123
рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

AndreasSchmid1 picture AndreasSchmid1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

LobeTia picture LobeTia  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

walfro picture walfro  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lares83 picture lares83  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rimlin picture rimlin  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ