Улучшить эту документацию Посмотреть исходный код $swipe
- сервис в модуле ngTouch
См. документацию модуля для получения дополнительной информации.
Обзор
Служба $swipe — это служба, которая абстрагирует более сложные детали поведения свайпа при удержании и перетаскивании, чтобы сделать реализацию директив, связанных со свайпом, более удобной.
Требуется модуль ngTouch для установки.
$swipe используется директивами ngSwipeLeft и ngSwipeRight в ngTouch.
Использование
Служба $swipe — это объект с единственным методом: bind. bind принимает элемент, который необходимо отслеживать на предмет свайпов, и объект с четырьмя обработчиками событий. См. документацию по bind ниже.
Методы
-
bind();
Основной метод
$swipe. Он принимает элемент, который следует отслеживать на предмет движений свайпа, и объект, содержащий обработчики событий. Типы указателей, которые должны использоваться, можно указать с помощью необязательного третьего аргумента, который является массивом строк'mouse','touch'и'pointer'. По умолчанию$swipeбудет прослушивать событияmouse,touchиpointer.Четыре события — это
start,move,end, иcancel.start,move, иendпринимают в качестве параметра объект координат вида{ x: 150, y: 310 }и исходноеevent.cancelполучает исходноеeventв качестве единственного параметра.startвызывается приmousedown,touchstartилиpointerdown. После этого события$swipeотслеживает событияtouchmove,mousemoveилиpointermove. Эти события игнорируются до тех пор, пока общее расстояние перемещения по обеим осям не превысит небольшой порог.Как только этот порог превышен, либо горизонтальная, либо вертикальная дельта больше.
- Если горизонтальное расстояние больше, это свайп, и следуют события
moveиend. - Если вертикальное расстояние больше, это прокрутка, и мы передаём управление браузеру. Отправляется событие
cancel.
moveвызывается приmousemove,touchmoveиpointermoveпосле того, как вышеуказанная логика определила, что свайп в процессе.endвызывается, когда свайп успешно завершен сtouchend,mouseupилиpointerup.cancelвызывается либо приtouchcancelилиpointercancelиз браузера, или когда мы начинаем прокрутку, как описано выше. - Если горизонтальное расстояние больше, это свайп, и следуют события
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ngTouch/service/$swipe