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