```html

The button above has been clicked {{ counter }} times.

``` ```js var example1 = new Vue({ el: '#example-1', data: { counter: 0 } }) var example2 = new Vue({ el: '#example-2', data: { name: 'Vue.js' }, // 在 `methods` 对象中定义方法 methods: { greet: function (event) { // `this` 在方法里指向当前 Vue 实例 alert('Hello ' + this.name + '!') // `event` 是原生 DOM 事件 if (event) { alert(event.target.tagName) } } } }) // 也可以用 JavaScript 直接调用方法 example2.greet() // => 'Hello Vue.js!' ``` #### 内联处理器中的方法调用 - 有时也需要在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 `$event` 把它传入方法 ```html
``` ```js new Vue({ el: '#example-3', methods: { say: function (message) { alert(message) }, warn: function (message, event) { // 现在我们可以访问原生事件对象 if (event) { event.preventDefault() } alert(message) } } }) ``` #### [事件修饰符](https://cn.vuejs.org/v2/guide/events.html#事件修饰符) - 键盘按键处理 - 鼠标按键处理 ```html
...
...
...
// 可以使用 `v-on:keyup.f1` Vue.config.keyCodes.f1 = 112
Do something
```