Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 为什么这个Swiper OnReachen回调会在Ionic幻灯片中触发两次?_Angular_Ionic Framework_Ionic2_Swiper - Fatal编程技术网

Angular 为什么这个Swiper OnReachen回调会在Ionic幻灯片中触发两次?

Angular 为什么这个Swiper OnReachen回调会在Ionic幻灯片中触发两次?,angular,ionic-framework,ionic2,swiper,Angular,Ionic Framework,Ionic2,Swiper,为什么这个onReachEnd回调要执行两次 我正在使用,我的堆栈有3个页面:根页面、主幻灯片页面和辅助幻灯片页面。当我到达终点时,辅助幻灯片页面应关闭: @Component({ templateUrl: 'app/secondary-slides.html' }) export class SecondarySlidesPage { sliderOptions = { onReachEnd: () => { this.nav.pop(); }, }; cons

为什么这个
onReachEnd
回调要执行两次

我正在使用,我的堆栈有3个页面:根页面、主幻灯片页面和辅助幻灯片页面。当我到达终点时,辅助幻灯片页面应关闭:

@Component({
  templateUrl: 'app/secondary-slides.html'
})
export class SecondarySlidesPage {
  sliderOptions = {
    onReachEnd: () => { this.nav.pop(); },
  };

  constructor(private nav: NavController) { }
}
除了调用了两次
onReachEnd
回调之外,上面的方法是有效的,因此从堆栈中弹出两个页面,关闭辅助幻灯片页面和主幻灯片页面,将我带回根页面。主幻灯片页面如下所示:

@Component({
  templateUrl: 'app/slides.html'
})
export class SlidesPage {
  sliderOptions = { };

  constructor(private nav: NavController) { }

  public secondarySlides() {
   this.nav.push(SecondarySlidesPage); 
  }
}
这里有一个例子来说明这个问题


如何避免两页同时弹出?如果这是一个bug,它是在Ionic中还是在Swiper中?

作为一种解决方法,我可以在首次使用回调后取消其设置

@Component({
  templateUrl: 'app/secondary-slides.html'
})
export class SecondarySlidesPage {
  @ViewChild('slides') slides:Slides;

  sliderOptions = {
    onReachEnd: () => {
      this.slides.slider.params.onReachEnd = undefined;
      this.nav.pop();
    },
  };

  constructor(private nav: NavController) { }
}
发生的情况是,当第二张幻灯片页面被删除时,单个幻灯片组件被销毁。这会自动更新
滑块
对象,该对象现在位于新的幻灯片末尾,并再次触发回调。我修改了Ionic幻灯片,删除了
rapidUpdate
调用
Slide.ngondestory
,问题就消失了

在最终决定发布一个问题后,我没想到会这么快就想出来