v-touch
v1.5.2
Published
A full-featured gesture component designed for Vue
Downloads
63
Maintainers
Readme
v-touch
A full-featured gesture component designed for Vue
~~This module is still working in progress right now, so it is just for placeholder.~~
Now, you can try to use v-touch
in your project!
Usage
A deadly simply example:
If you are also working with vue-touch
, you can use Vue.use(VTouch, {name: 'move'})
(or something else), so that the directive name will change to v-move
!
new Vue({
el: '#app',
template: `<div class="container">
tap: {{ tapNum }},<br>
dblTap: {{ dblTapNum }},<br>
mltTap: {{ mltTapNum }}, lastMltTapped: {{ lastMltTapped }}<br>
press: {{ pressNum }},<br>
swipeLeft: {{ swipeLeftNum }},<br>
swipeRight: {{ swipeRightNum }},<br>
swipeUp: {{ swipeUpNum }},<br>
swipeDown: {{ swipeDownNum }}
<br>
<div v-touch="touch" @dblclick="dblclickOuter">
<button class="my-btn" @tap="click">{{ msg }}</button>
<div @dblclick="dblclick">
<button class="my-btn">Just Another Button</button>
</div>
</div>
<br>
<br>
<button class="btn btn-default" @click="toggle('x')">toggle x ({{ x }})</button>
<button class="btn btn-default" @click="toggle('y')">toggle y ({{ y }})</button>
</div>`,
data() {
return {
msg: 'try to touch, move, swipe, press me!',
x: false,
y: false,
tapNum: 0,
dblTapNum: 0,
mltTapNum: 0,
lastMltTapped: 0,
pressNum: 0,
swipeLeftNum: 0,
swipeRightNum: 0,
swipeUpNum: 0,
swipeDownNum: 0
}
},
computed: {
touch() {
return {
x: this.x,
y: this.y,
methods: true
}
}
},
methods: {
toggle(prop) {
this[prop] = !this[prop]
},
tap(e) {
this.tapNum++
},
dblTap() {
this.dblTapNum++
},
mltTap({tapped}) {
this.mltTapNum++
this.lastMltTapped = tapped
},
press() {
this.pressNum++
},
swipeLeft() {
this.swipeLeftNum++
},
swipeRight() {
this.swipeRightNum++
},
swipeUp() {
this.swipeUpNum++
},
swipeDown() {
this.swipeDownNum++
},
click() {
console.log('clicked the first button')
},
dblclick() {
console.log('dblclicked the second one')
},
dblclickOuter() {
console.log('dblclicked')
}
}
})
Document
[WIP]