Saya memiliki masalah dengan membuat longPress berfungsi di sudut 9. Saya telah mengimpor modul mengikuti https://github.com/Gbuomprisco/ngx-long-press dan saya punya tombol sederhana

<button [longPress] (onRelease)="onLongPress()" > </button>

Dan sederhana

onLongPress(){
    console.log("long press works");
  }

Di file ts saya. Namun log konsol tidak pernah muncul. Tidak ada kesalahan di konsol, hanya tidak ada yang terjadi, jadi pertanyaan saya adalah: haruskah modul ini bekerja dengan Angular 9? Dan jika tidak, modul apa yang terbaik untuk menangani tekan lama di sudut 9?

0
Ecuros 15 Mei 2020, 00:42

1 menjawab

Jawaban Terbaik

Tambahkan arahan longPress

import { Directive, ElementRef, EventEmitter, OnDestroy, OnInit, 

Output } from '@angular/core';
import { Clipboard } from '@ionic-native/clipboard';
import { Gesture } from 'ionic-angular/gestures/gesture';
import { Platform } from 'ionic-angular';
declare var Hammer;

@Directive({
  selector: '[longPress]'
})

export class PressDirective implements OnInit, OnDestroy {
  @Output() onLongPressEvent = new EventEmitter();
  el: HTMLElement;
  pressGesture: Gesture;

  constructor(el: ElementRef, private clipboard: Clipboard, private plt: Platform) {
    this.el = el.nativeElement;
    this.onLongPressEvent.emit();
  }

  ngOnInit() {
    if (this.plt.is('ios')) {
      this.pressGesture = new Gesture(this.el);
    } else {
      this.pressGesture = new Gesture(this.el,
        {
          recognizers: [
            [Hammer.Press, { time: 1000 }]
          ]
        });
    }
    this.pressGesture.listen();
    this.pressGesture.on('press', e => {
      this.clipboard.copy(e.target.textContent.trim());
      this.onLongPressEvent.emit();
    });
  }

  ngOnDestroy() {
    this.pressGesture.destroy();
  }
}
0
Andran 14 Mei 2020, 22:53