Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅.
<ion-scroll scrollX="true" #lazyContainer>
<!--<img class="thumbnail-avatar" *ngFor="let item of items" src="http://placehold.it/350x150">-->
<img class="thumbnail-avatar-square spacer" *ngFor="let item of recent"
(click)="tapped(item)"
[scrollObservable]="lazyContainer.ionScroll"
[lazyLoad]="item.avatar">
</ion-scroll>
ΠΡΠΈΠ²Π΅Ρ,
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ lazyContainer.ionScroll
ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ionScroll
ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΈΡΠΏΡΡΠΊΠ°Π΅Ρ Π»ΠΈ ΠΎΠ½ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅.
<ion-scroll scrollX="true" #lazyContainer>
<img class="thumbnail-avatar-square spacer" *ngFor="let item of recent"
(click)="tapped(item)"
[scrollObservable]="lazyContainer.ionScroll"
[lazyLoad]="item.avatar">
{{ lazyContainer.ionScroll | async | json }}
</ion-scroll>
@kodeine, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅
ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ,
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ ... @tjoskar ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, Π½Π° Ionic 3.9.2. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ion-scroll. Π― ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ionScroll Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° async / json ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ null. Π’Π°ΠΊ ΡΡΠΎ, Ρ Π΄ΡΠΌΠ°Ρ, ΠΏΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΡΠΎΠΉ ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ionScroll Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ null?
ΠΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠ»ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ scrollTarget Π½Π° scroll._scrollContent.nativeElement
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅
`` javascript
<ion-scroll scrollX="true" direction="x" #scroll1>
<div class="item" margin *ngFor="let item of newItems"
(click)="goToItemPage(item)">
<img src="./assets/imgs/placeholder.png"
[lazyLoad]="item.photoThumb?.url()"
[scrollTarget]="scroll1._scrollContent.nativeElement" />
<div text-center text-wrap>
<p no-margin>{{ (item.shortName || item.name) | excerpt:17 }}</p>
</div>
</div>
</ion-scroll>
ΠΡΠΈΠ²Π΅Ρ @fmendoza, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΡ ΠΈ Π»Π΅Π½ΠΈΠ²ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅.
ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠ° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ
ΡΡΡΠΎΠΊ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π― Ρ
ΠΎΡΠ΅Π» Π±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΡΠΈΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅ ΠΌΠΎΠ΅Π³ΠΎ ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠ΅ ΠΌΠΎΠ΅Π³ΠΎ ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ
ΡΠ°ΠΊ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄Π²ΡΠΌΡ scrollTargets. ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ, Π° Π΄ΡΡΠ³ΠΎΠΉ - Π΄Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΈΠΎΠ½ΠΎΠ²
ΠΡΠ±Π΅Π·Π½ΠΎ ΠΏΠΎΠΌΠΎΡΡ
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΏΠΈΡΠΎΠΊ Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΎΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ.
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π·Π½Π°Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 2 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Π³Π΄Π° Π²ΠΈΠ΄Π½Ρ Π²Π½ΡΡΡΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΠΊ <ion-content #content>
. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΎΠΉ <ion-scroll scrollX="true" #recentScroll>
.
<ion-content #content>
<!-- more ion-scrolls here -->
<ion-scroll #recentScroll scrollX="true">
<ng-container *ngFor="let subitem of recentItems; let i = index">
<horizontal-item [item]="subitem"
[scrollContainer]="content._scrollContent.nativeElement"
(openItem)="showItemDetails($event, true)"
*ngIf="i < 2"></horizontal-item>
<horizontal-item [item]="subitem"
[scrollContainer]="recentScroll._scrollContent.nativeElement"
(openItem)="showItemDetails($event, true)"
*ngIf="i >= 2"></horizontal-item>
</ng-container>
</ion-scroll>
<!-- more ion-scrolls here -->
</ion-content>
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ. ΠΠ»ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ scrollTarget Π½Π°
scroll._scrollContent.nativeElement
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅
``
javascript <ion-scroll scrollX="true" direction="x" #scroll1> <div class="item" margin *ngFor="let item of newItems" (click)="goToItemPage(item)"> <img src="./assets/imgs/placeholder.png" [lazyLoad]="item.photoThumb?.url()" [scrollTarget]="scroll1._scrollContent.nativeElement" /> <div text-center text-wrap> <p no-margin>{{ (item.shortName || item.name) | excerpt:17 }}</p> </div> </div> </ion-scroll>