2017-09-14 2 views
2

와 각도 4 트리거되지(swipeup는) 내가 지시 (swipeup)이 작동하지 않는 것 것으로 나타났습니다 Hammerjs

<div [@myAnimation] (swipeup)="showActionBar = false" fxFlex="56px" *ngIf="showActionBar" fxLayoutWrap fxLayoutAlign="start center"fxLayoutGap="8px" class="overview-actions"> 

누구든지이 솔루션/work-around 있습니다. 나는 보았지만 내 문제와 관련된 해결책을 찾지 못했습니다. this에 따르면이 시도 할 수

는 J.

+0

가 어떻게 망치를 가져 옵니까 app.module.ts? 작동합니까 (스 와이프)? – Vega

+0

왼쪽 (오른쪽)으로 스 와이프했을 때 트리거 (위/아래로 움직이지 않음)를 사용하면 (스 와이프) –

답변

4

@ angular/platform-browser에서 해머 설정을 가져 와서 무시할 수 있습니다. 스크롤하려는 경우 사용자에게 문제를 일으킬 수 있으므로 기본적으로 위/아래로 스 와이프가 해제되어 있습니다.

import * as Hammer from 'hammerjs'; 
    import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser'; 

    export class HammerConfig extends HammerGestureConfig { 
    overrides = <any>{ 
     'swipe': { direction: Hammer.DIRECTION_ALL } 
    }; 
    } 

    @NgModule({ 
    declarations: [ 
     AppComponent 
    ], 
    imports: [ 
     BrowserModule 
    ], 
    providers: [ 
     { 
     provide: HAMMER_GESTURE_CONFIG, 
     useClass: HammerConfig 
     } 
    ], 
    bootstrap: [AppComponent] 
    }) 
    export class AppModule { } 
+0

대단히 감사합니다! –

0

, 감사?

var hammertime = new Hammer(document.body); 

hammertime.get('swipe').set({ direction: Hammer.DIRECTION_ALL }); 

그리고 기본적으로 문서 "에 따라이 탭, doubletap, 프레스, 수평 팬 및 슬쩍 세트, 그리고 멀티 터치 핀치를 추가하고는. 핀치를 인식기를 회전 인식기으로 비활성화되어 회전 기본적으로 그들은 요소가 차단 만들 것입니다,하지만 당신은 호출하여 사용할 수 있기 때문에 :

hammertime.get('pinch').set({ enable: true }); 
hammertime.get('rotate').set({ enable: true }); 

수직 활성화 또는 모든 방향 팬 슬쩍 인식기에 대한 :

hammertime.get('pan').set({ direction: Hammer.DIRECTION_ALL }); 
hammertime.get('swipe').set({ direction: Hammer.DIRECTION_VERTICAL }); 
+0

어디에서 구현하나요? –

+0

hammerJS 어디서 가져 옵니까? 코드에 스크립트 태그가 있습니까? –

+0

입력 해 주셔서 감사합니다. 아래 답변은 내 문제의 해결책이었습니다. –

관련 문제