覆盖$ swipe内部方法bind()事件

时间:2017-03-14 07:37:54

标签: javascript css angularjs

首先,我将告诉我的目标,我正在努力实现。我有一个混合应用程序,滑动操作不会给人一种原生应用程序的感觉。当您在本机应用程序中的选项卡之间滑动时,您可以看到当前选项卡的幻灯片输出和新选项卡进入。它不是非常突然,如果您不在本机应用程序中保留触摸,可以处于第一个选项卡的一半和第二个选项卡的一半的状态。 (检查whatsApp选项卡中的幻灯片操作)。

所以现在我正在使用ngTouch的{​​{1}}和ngSwipeLeft,如果我在幻灯片完成时添加任何动画非常突然且ux不好。< / p>

如果您通读了ngSwipeRight的{​​{3}},那么$swipe行动有四个事件:swipestartmoveend。 那么如何覆盖这些事件,以便我可以在流上添加自定义css。

那么我们怎样才能让滑动事件在此时添加功能。

documentation

1 个答案:

答案 0 :(得分:0)

所以虽然我以不同的方式解决了我的问题,但我会分享如何覆盖$swipe bind方法。

因此,如果创建了一个指令customizableswipe,则这四种方法可以是overriden,如下所示:

angular.module('xpresso')
.directive('customizableswipe',['$swipe','$window',
  function($swipe,$window){

return {
  restrict: 'EA',
  link: function(scope,ele,attrs,ctrl){
    var startX,startY;

    $swipe.bind(ele,{
      'start' : function(coords){
        console.log("Coord start is :: ",coords.x);
      },
      'move' : function(coords){
        console.log("Coord move is :: ",coords.x);
      },
      'end' : function(coords){
        console.log("Coord end is :: ",coords.x);
      },
      'cancel' : function(coords){
        console.log("Coord cancel is :: ",coords.x);
      }
    });
  }
}
}]);

希望这可以帮助某人:)