From 79b5f6da26609529254e558502fab0bea4822670 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Tue, 11 Oct 2022 09:39:47 +0800 Subject: [PATCH] doc: update `vue2.md`. (#5) --- docs/vue2.md | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/docs/vue2.md b/docs/vue2.md index fc8cd2b..51d8266 100644 --- a/docs/vue2.md +++ b/docs/vue2.md @@ -647,6 +647,167 @@ Jane Doe `2.2.0+` 的版本里,当在组件上使用 `v-for` 时,`key` 现在是必须的 +事件处理 +--- + +### 监听事件 + +```html {2} +
+ +

按钮已被点击 {{ counter }} 次。

+
+``` + +```js +var example1 = new Vue({ + el: '#example-1', + data: { + counter: 0 + } +}) +``` + +### 事件处理方法 + + +```html {3} +
+ + +
+``` + +```js +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!' +``` + +### 内联处理器中的方法 + + +```html {2,5} +
+ + +
+``` + +```js {4} +new Vue({ + el: '#example-3', + methods: { + say: function (message) { + alert(message) + } + } +}) +``` + +访问原始的 DOM 事件,用特殊变量 $event + +```html + +``` + +```js +methods: { + say: function (message, event) { + // 现在我们可以访问原生事件对象 + if (event) { + event.preventDefault() + } + alert(message) + } +} +``` + +### 事件修饰符 + +```html + + + +
+ + + +
+ + + +
...
+ + +
...
+ + +``` + +### 事件修饰符 passive + +```html + + + +

...

+``` + +这个 `.passive` [修饰符](#v-on-事件修饰符)尤其能够提升移动端的性能。 + +### 按键修饰符 + +```html + + + + + + + +
+``` + + +### .exact 修饰符 + +```html + +