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