【问题标题】:ionic 3 Dynamic image slider stops autoplay after manual slidingionic 3动态图像滑块在手动滑动后停止自动播放
【发布时间】:2018-05-28 20:40:33
【问题描述】:

我正在从提供者 rest api 获取图像滑块数据。图像滑块适用于自动播放,但手动滑动后,图像滑块自动播放停止。当使用 ionViewDidEnter() 时会产生错误...

我的 .ts 文件如下

    import {Slides } from 'ionic-angular';
    .
    .
    .
    export class DemoPage {
    .
    .
    .
    @ViewChild(Slides) slides: Slides; 
    .
    .
    .
    allslider: any;
    .
    .
    constructor(public navCtrl: NavController, public navParams: NavParams,public popoverCtrl: PopoverController,public demoapiService: DemoApiProvider)   
    {    
    this.imgSlider();    
    } 

    imgSlider() { 
    this.demoapiService.getImgSlider()  
    .then(myslide => { 
    this.allslider= myslide ;   
    });  
    }

    ionViewDidEnter() 
    {
   // this.slides.autoplayDisableOnInteraction = false;
   // when used above statement then error is generated
    }

我的 .html 文件如下所示

    <ion-slides class="slide-css"   #slides *ngIf="allslider && allslider.length" [autoplay]="2000" [speed]="500" [loop]="true" pager>
    <ion-slide   *ngFor="let slide of allslider ">            
    <img src="http://localhost:8000/{{slide.img}}" />
    </ion-slide>
    </ion-slides>

参考 - ionic 3 image slider stops autoplay after manual sliding

【问题讨论】:

  • 错误是什么?您无需在此处提供#slides,因为您导入了Slides
  • 如果我删除 #slides 并使用 ionViewDidEnter() 则会引发以下错误 => core.js:1350 错误类型错误:无法在 DemoPage.webpackJsonp.214.DemoPage 设置未定义的属性 'autoplayDisableOnInteraction' .ionViewDidEnter (DemoPage.ts:43)

标签: angular typescript ionic-framework ionic3


【解决方案1】:

您不能在 constructor() 中使用它,因为尚未完全创建 DOM

所以你需要删除this.imgSlider();

 constructor()   
  {    
     //this.imgSlider();<--- need to remove this and use it inside the `ionViewDidEnter()` event.
  }

像这样:

 ionViewDidEnter() 
    {
      this.imgSlider();
    }

 imgSlider() { 
    this.demoapiService.getImgSlider()  
    .then(myslide => { 
       this.allslider= myslide ;   
       this.slides.autoplayDisableOnInteraction = false;
      });  
    }

【讨论】:

  • 仍然出现错误,因为 => 未捕获(承诺中):TypeError:无法设置未定义的属性“autoplayDisableOnInteraction”
  • 我按照下面的方法成功了...forum.ionicframework.com/t/…
  • 好的,希望你能提出自己的答案然后不?
猜你喜欢
  • 2018-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
  • 2011-03-30
相关资源
最近更新 更多