iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

事件綁定與處理,是對任何一個互動性網頁來說都非常重要的功能,我們之前使用比較多的Vue.js指令,更多是有關於模板,今天我就要來學習Vue.ja關於事件處理的部分。

v-on

前面關於模板的Vue.js指令有很多針對各種部份的不同指令,但對於事件,有關係的指令就只有一個v-on。而v-on最簡單的應用方式也是非常易懂的一段程式:v-on: 事件名稱="運算式",也可以簡寫成為@事件名稱="運算式"
先嘗試一下簡單的,當user點擊按鈕"+1"將在data中把count+1並輸出到網頁,關於運算式的部分,也可以先將event handler function寫在methods裡面,再用v-on來綁定指令。這裡使用的是第一種的方法:

    <div id="test1">
        <p>Count: {{ count }}</p>
        <button @click="count++">+1</button>
    </div>
        const t1 = Vue.createApp({
            data () {
                return {
                count: 0
                }
            },
        }).mount('#test1');

網頁呈現:
v-on1

event事件

當監聽的事件發生時,在JavaScript裡面是由EventListener去建立"事件物件(event object)"去包含所有與事件相關的屬性與資訊。而到了Vue.js的場合,事件是由v-on和methods來取得event object。所以當v-on觸發事件時,如果event中沒有指定參數,預設會將event object帶入來當作參數。而如果有需要代入參數的話,可以指定代入$event,有代入參數的程式將會像這樣:

    <div id="test1">
        <p><input v-model.number="amount"></p>
        <p>Count: {{ count }}</p>
        <button @click="plus(amount, $event)">plus</button>
    </div>
        const t1 = Vue.createApp({
            data () {
                return {
                    amount: 0,
                    count: 0
                }
            },
            methods: {
                plus(amount, event){
                    console.log(event.target.tagName);
                    this.count += amount;
                }
            }
        }).mount('#test1');

今天的進度暫時先到這裡,明天將繼續事件綁定的部分進入到v-on的修飾子部分,謝謝閱讀。


上一篇
D15: CSS樣式綁定
下一篇
D17: v-on modifiers
系列文
從0開始學習30天可以到什麼程度?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言