v-on
缩写:
v-on:event="doSomething"⇒@event="doSomething"
// 1.如果调用的方法不需要传入参数,则括号可以省略
<button @click = "increase">+</button>
methods: {
increase: function() {
this.counter++;
}
}
// 2.省略括号,而且不传参,方法会默认有一个DOM Event对象
<button @click = "increase">+</button>
methods: {
increase: function(value) {
console.log(value); // 打印 MouseEvent(...)
}
}
// 3.不省略括号,而且不传参,那么形参为undefined
<button @click = "increase()">+</button>
methods: {
increase: function(value) {
console.log(value); // 打印 undefined
}
}
// 4.同时需要传入参数和event
<button @click = "increase('abc', $event)">+</button>
methods: {
increase: function(value1, value2) {
console.log(value1, value2); // 打印 abc 和 MouseEvent(...)
}
}事件修饰符:
.stop(阻止事件冒泡).prevent(阻止默认行为).capture(使用事件捕获模式).self(只当事件是从侦听器绑定的元素本身触发时才触发).once(只会触发一次).passive(不阻止默认行为,改善移动端设备的滚屏性能).native(监听组件根元素的原生事件)
按键修饰符:
.enter.tab.delete(捕获“删除”和“退格”键).esc.space.up.down.left.right
系统修饰符:
.ctrl.alt.shift.meta