本篇来介绍 v-on
指令的特别之处,使用 JavaScript
撰写一个事件处理,除了 DOM
的绑定还需要撰写监听事件,这边只要加上 v-on
, Vue.js 就都帮你处理好了,以下来介绍这特别的功能。
开始之前先来复习 JavaScript
的 addEventListener()
,透过 addEventListener
注册的 Event Handler (EventListener)
事件监听器,就像是告诉JavaScript环境
我在等待或监听什麽事件,例如点击滑鼠、按键盘...等,当发生事件时Browser就会去执行指定的function,这时 EventListener
会去建立一个事件物件 (Event Object)
,里面包含了该事件有关的属性,并以参数形式回传给 EventListener
。
<button id="btn">Click</button>
let btn = document.getElementById('btn');
btn.addEventListener('click', function(e){
console.log(e);
});
e
就是事件物件
,名称可以自己定义,当点击时触发 EventListener
, console.log 就会跳出很多属性:
v-on
将运算式直接写在模板的实作:
<div id="app">
<h3>{{ count }}</h3>
<button @click="count++">Click</button>
</div>
v-on:事件名称="运算式"
,等同於@事件名称"="运算式"
,@是 v-on
缩写,运算式可以直接写在模板或是methods
里。
const vm = Vue.createApp({
data() {
return {
count: 0,
}
}
});
vm.mount("#app");
先在 data
定义 count
为0,之後靠 v-on
改变 count
的值。
运算式写在methods
实作:
<div id="app">
<h3>{{ count }}</h3>
<button @click="add">Click</button>
</div>
const vm = Vue.createApp({
data() {
return {
count: 0,
}
},
methods: {
add() {
this.count++;
}
}
});
vm.mount("#app");
JavaScript 的 EventListener 事件监听器
,已经先在 methods
宣告,再透过 v-on
绑定 click
的事件。
v-on 带参数
@事件名称="functionName(参数, $event)"。
1.设定参数100。
2. num
接受100的参数,开始做运算,运算完再回传到 data
里的 count
再送回画面。
需要访问原始 DOM
事件时,再带上特殊变量 $event
就可以了,如果没有参数,预设就会将 event
物件当参数传入 metheds
的 function(event)
。
Kuro Vue.js 1-5 事件处理
Kuro JavaScrip Day 15 隐藏在 "事件" 之中的秘密
Vue.js 官网
<<: 【在厨房想30天的演算法】Day 11 资料结构:图 Graph
>>: [Day22] - 介绍 LitElement 如何使用
哈罗~ 今天要来跟大家介绍扫描的小工具 在介绍工具前,我们先来review一下TCP Flags。 ...
Hachicorp Consul: Server configuration for product...
虽然还有一天...有点怀念ESO...收拾一下东西,等会要往车站移动了。 收拾完行李check ou...
第 23 天 ! 使用 context 来传送,虽然达到了能跟 目标 component 直接对接的...
昨天大致谈了网站内容是怎麽被下载到电脑里的,今天稍微深入一点聊聊关於 HTTP 这个协定的一些简单并...