【问题标题】:Slides - before swipe event幻灯片 - 在滑动事件之前
【发布时间】:2019-04-09 23:27:41
【问题描述】:

是否有在幻灯片过渡开始之前触发的幻灯片事件?
我已经尝试过 ionSlideNextStartionSlideWillChange 但它们都不起作用我需要的方式。

我想要的是根据条件锁定滑动。 例如,我想在图片放大时锁定滑动,在图片缩小时解锁。

【问题讨论】:

  • IMO,您正在查看错误的事件。如果您想在事件上锁定幻灯片,例如放大图像,在该事件中锁定幻灯片并在恢复中解锁......尝试评估状态并在幻灯片上应用锁定似乎正在走向混乱的道路

标签: angular ionic-framework


【解决方案1】:

感谢您的想法。我选择了第一个选项。我自己考虑过,但我是 Ionic 的新手,我还在学习。
缩放功能实际上是一个指令 (zoom-pan),我没有想到可以从指令中访问组件。

<ion-slides zoom-pan>
    <ion-slide *ngFor="let page of pages;">
        [...]
    </ion-slide>
</ion-slides>

但是,我做了更多的研究,感谢this,我在指令的构造函数中注入了ViewContainerRef
使用this.hostComponent = this.viewContainerRef["_data"].componentView.component,我可以访问幻灯片,并且在发生放大/缩小时锁定/解锁滑动。

【讨论】:

    【解决方案2】:

    根据我的评论,IMO 执行此操作的更好方法是将幻灯片锁定在适当的事件上。例如在您的放大示例中,在发生放大时锁定幻灯片并在恢复图像时解锁。

    但是,您是否想在幻灯片开始时沿着锁定路径前进,使用ionSlideNextStartionSlideWillChange,您可以分两步完成。

    在活动中,您必须返回上一张幻灯片,因为幻灯片活动已经开始,我不确定是否有办法阻止它: 伪代码:

    slide.slider.slideTo(indexOfPrevSlide, 2000)
    

    然后,使用shouldLockSwipeToNextshouldLockSwipeToPrevg 应用锁

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      相关资源
      最近更新 更多