1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hxyl-vue-mb-touch

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 10:15 30c07e9

Vue-mb-touch

Vue-mb-touch — это проект, связанный с событиями для мобильной версии Vue. Он включает в себя события нажатия (tap) и длительного нажатия (press).


Установка

npm install vue-mb-touch

Использование

  1. Установите пакет.
  2. Импортируйте его.
  3. Добавьте директиву v-touch к элементам, которые должны отслеживать события tap или press. Затем вы можете использовать v-on:tap="fn" для отслеживания событий tap и press.

Пример

<template>
  <div  v-touch.press.tap @tap="tap" @press="press">
   
  </div>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import vueMobileTouch from "vue-mb-touch";

Vue.use(vueMobileTouch);

@Component
export default class Home extends Vue {
  public tap() {
    /** tap  */
  }

  public press(e: Event) {
    /** press  */
  }

  public data() {
    return {
     
    };
  }
}
</script>

Включение режима прокси

<template>
  <ul  v-touch.proxy @tap="tap($event)" >
    <li data-proxy data-index="1"></li>
    <li data-proxy data-index="2"></li>
    <li data-proxy data-index="3"></li>
  </ul>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import vueMobileTouch from "vue-mb-touch";

Vue.use(vueMobileTouch);

@Component
export default class Home extends Vue {
  public tap(e: event) {
    const currentTarget = e.currentTarget as HTMLElement;
    console.log(currentTarget.tagName.toLowerCase());   // li
    console.log(JSON.stringify(currentTarget.dataset)); // {proxy: "", index: "1"}
  }


  public data() {
    return {
     
    };
  }
}
</script>

Глобальная конфигурация

При импорте vue-mb-touch можно передать глобальный объект конфигурации. В настоящее время он поддерживает maxDistance и pressTime. MaxDistance используется для определения расстояния, на которое должен переместиться палец на экране, чтобы вызвать событие. По умолчанию оно равно 10. PressTime используется для определения времени, в течение которого палец должен быть прижат к экрану, чтобы вызвать длительное нажатие. По умолчанию это 650 миллисекунд. Вот как это работает:

import Vue from 'vue';
import vueMobileTouch from "vue-mb-touch";

Vue.use(vueMobileTouch, {maxDistance: 10,pressTime: 650});

Параметры директивы

Параметр Описание
tap Включает события tap. По умолчанию они отключены, но если оба tap и press отключены, то они включаются автоматически.
press Включает события press. По умолчанию отключено.
stop Останавливает всплытие событий. По умолчанию не останавливает.
prevent Предотвращает поведение браузера по умолчанию. По умолчанию не предотвращает.
passive Устанавливает пассивный режим прослушивания. Если этот параметр присутствует, предотвращение поведения браузера по умолчанию становится неэффективным.
capture Определяет, является ли слушатель захватывающим. По умолчанию — нет.
proxy Включает режим прокси для событий. По умолчанию отключен. Для включения режима прокси добавьте атрибут data-proxy к целевым элементам.

Примечание

Если вы используете v-touch на компонентах Vue, вам нужно добавить параметр native при прослушивании событий.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hxyl-vue-mb-touch.git
git@api.gitlife.ru:oschina-mirror/hxyl-vue-mb-touch.git
oschina-mirror
hxyl-vue-mb-touch
hxyl-vue-mb-touch
master