Ng-lazyload-image: Desplazamiento horizontal iónico2

Creado en 30 may. 2017  ·  7Comentarios  ·  Fuente: tjoskar/ng-lazyload-image

Lo siguiente no carga la imagen en el desplazamiento horizontal.

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

image

Comentario más útil

Lo tengo funcionando. La clave es establecer scrollTarget en scroll._scrollContent.nativeElement

Código completo a continuación

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

Todos 7 comentarios

Hola,

Supongo que lazyContainer.ionScroll solo emite eventos cuando se desplaza verticalmente por alguna razón. ¿Puede intentar imprimir el valor de ionScroll para ver si emite algún valor cuando se desplaza?

<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 , no dude en volver a abrir este problema si el problema

Hola,

Primero ... @tjoskar felicitaciones. Esto funciona como se esperaba en Ionic 3.9.2. Sin embargo, tengo el mismo problema con ion-scroll. Intenté imprimir el valor de ionScroll con la tubería async / json y devuelve nulo. Así que supongo que esa es la razón por la que no funciona.

¿Alguna solución para este problema iónico?

Actualización: intenté lo mismo con un ejemplo de trabajo y también ionScroll devuelve nulo.

Lo tengo funcionando. La clave es establecer scrollTarget en scroll._scrollContent.nativeElement

Código completo a continuación

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

Hola @fmendoza , tengo varias filas donde cada una debe ser desplazable horizontalmente y cargar imágenes de forma diferida
Sin embargo, solo las filas visibles muestran imágenes en la primera carga.
Desplazarse verticalmente para exponer otras filas no activa la carga de la imagen.
Me gustaría habilitar la carga de estas imágenes en el desplazamiento vertical de mi contenido de iones y el desplazamiento horizontal de mi desplazamiento de iones
de modo que lo tengo funcionando con dos scrollTargets. uno para el desplazamiento de iones y el otro para el contenido de iones
Ayudar amablemente

He utilizado el truco a continuación para solucionar el problema de tener una lista desplazada horizontalmente fuera de la ventana gráfica del desplazamiento vertical del contenido principal.
En mi caso, sé que los 2 primeros elementos de cada lista siempre están visibles dentro del desplazamiento vertical del contenido principal, así que conecto su contenedor de desplazamiento a <ion-content #content> . Y el resto de los elementos de la lista están conectados al desplazamiento horizontal <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>
¿Fue útil esta página
0 / 5 - 0 calificaciones