Angular 2 RC 2 с помощью мобильных жестов (Swipe, Pinch, Rotate)

Может кто-нибудь подсказать, пожалуйста, как использовать мобильные жесты в Angular 2 RC2.

Может быть что-то вроде:

<div (swipeLeft)="OnSwipeLeft()"></div>

Из API видно

HAMMER_GESTURE_CONFIG 
HammerGestureConfig

под

@angular/platform-browser

Но не уверен, как его использовать.

В некоторых постах я вижу, что некоторые пользователи предлагают включить Hammer.js. Но я считаю, что если он уже в API, мы сможем включить и использовать его простым способом.

1 ответ

Решение

Хорошо, я нашел решение, и оно работает с Angular 2 RC 2:

Добавьте hammerjs в файл packages.json

"hammerjs": "2.0.8",

Включить hammerjs

<script src="/node_modules/hammerjs/hammer.min.js"></script>

Тогда в шаблоне:

<div (swipeleft)="onSwipeleft($event)" (swiperight)="onSwiperight($event)">

или может быть что-то вроде этого в шаблоне:

<div (swipe)="onSwipe($event)">Swipe (direction = {{swipeDirection}})</div>
<div (pinch)="onPinch($event)">pinch (scale = {{pinchScale}})</div>
<div (rotate)="onRotate($event)">Rotate (angle = {{rotateAngle}})</div>

и в вашем компоненте:

class GesturesCmp {

    swipeDirection: string = '-';
    pinchScale: number = 1;
    rotateAngle: number = 0;

    onSwipe(event: any): void {
        this.swipeDirection = event.deltaX > 0 ? 'right' : 'left';
    }

    onPinch(event: any): void {
        this.pinchScale = event.scale;
    }

    onRotate(event: any): void {
        this.rotateAngle = event.rotation;
    }
}
Другие вопросы по тегам