循环(ngfor)谁来设置“位置”

时间:2019-03-22 19:29:54

标签: angular loops ngfor ionic4

例如,我想从第4位开始循环播放

有代码:

    <ion-slides>        
      <ion-slide  *ngFor="let img of [1,2,3,4,5,6,7,8,9,10,11]">
        <img src="{{img}}.jpg">
      </ion-slide>
    </ion-slides>

我真的不知道怎么做

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

您可以在组件中编写将对数组进行切片的方法:

您的模板代码:

    <ion-slides>        
      <ion-slide  *ngFor="let img of (sliceImages([1,2,3,4,5,6,7,8,9,10,11]))">
        <img src="{{img}}.jpg">
      </ion-slide>
    </ion-slides>

您的组件代码:

sliceImages(array: number[]): number[] {
    return array.slice(4);
}

另一种方法是SlicePipe

您的模板代码:

    <ion-slides>        
      <ion-slide  *ngFor="let img of ([1,2,3,4,5,6,7,8,9,10,11] | slice : 4)">
        <img src="{{img}}.jpg">
      </ion-slide>
    </ion-slides>

答案 1 :(得分:1)

<ion-slides>        
      <ion-slide  *ngFor="let img of images [options]="opts">
        <img src="{{img}}.jpg">
      </ion-slide>
    </ion-slides>

组件

  @Component({
    templateUrl: 'build/pages/test/test.html',
})

export class TestPage implements OnInit{
    images= [1,2,3];
    opts: any;
    constructor() {}
    ngOnInit() {
            this.opts = {initialSlide: 5}
    }

}

答案 2 :(得分:1)

@Flash非常感谢您的帮助!

有我做过的代码:

xxx.page.ts:

    export class AlbumPage implements OnInit {

      opts: object;

      imageArray = [
        '027A0200', '027A1238', '027A1399',
        '027A1543', '027A1905', '027A2103',
        '027A2344', '027A2503', '027A2529',
        '027A2557', '027A2591', '027A2605',
        '027A2670', '027A2728', '027A2770',
        '027A2885', '027A2995', '027A3010',
        '027A3018', '027A3106'
      ];

      constructor() { }

      ngOnInit() {
        this.opts = {
          initialSlide: 3,
          pager: true
        };
      }

    }

xxx.page.html

<ion-content>
  <div>
    <ion-slides [options] ="opts">        
      <ion-slide  *ngFor="let img of imageArray">
        <img src="../../../assets/Album/{{img}}.jpg" >
      </ion-slide>
    </ion-slides>
  </div>
</ion-content>