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

OSCHINA-MIRROR/hxyl-vue-mb-touch

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

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