您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關小程序開發中事件指的是什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在微信小程序開發中什么是事件?從事件的定義解釋,事件是視圖層到邏輯層的通訊方式。事件可以將用戶的行為反饋到邏輯層進行處理,同時綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。除此之外事件對象可以攜帶額外信息,如 id, dataset, touches。
由于微信小程序框架采用邏輯層與UI層分析的設計方式,這種設計方式需要解決兩個問題:視圖層響應邏輯層邏輯和數據的變化,視圖層將用戶的操作反饋到邏輯層。微信定義了一些語法和規則來幫助開發者連接視圖層和邏輯層。通過數據綁定可以解決前一個問題,而第二個問題就需要用事件來解決。
事件綁定
通過事件綁定來完成對用戶操作的響應,比如要處理view標簽的tap事件,在標簽屬性中添加bindtap = \'tapName\', 然后在.js中添加tapName函數
//wxml Click me! //.js Page({ tapName:function(event) { console.log(event) } })
event對象包含一些關于事件的數據:
target:觸發事件的組件
currentTarget:當前組件
type:事件類型
timeStamp:時間戳(頁面打開到觸發事件所經過的毫秒數)
touches:包含觸摸點的數組(多點觸控)
changedTouches :發生改變的觸摸點的數組(多點觸控)
detail:額外的自定義信息
冒泡事件和非冒泡事件
為什么會有target和currentTarget之分呢,這是由于事件分為兩類,冒泡事件和非冒泡事件
冒泡事件:當一個組件上的事件被觸發后,該事件會向父節點傳遞。
非冒泡事件:當一個組件上的事件被觸發后,該事件不會向父節點傳遞。
其中tap事件是屬于冒泡事件(這也是為什么上面例子中的event會包含currentTarget)。
為什么需要冒泡事件
有了冒泡事件,就可以更加方便的實現一些功能。
比如程序有一個視圖,包含用戶頭像和姓名,當用戶點擊頭像或姓名時,進入用戶詳情頁面。如果沒有冒泡事件,就需要處理頭像和姓名的點擊事件,而現在只需在外層包裹一個組件,并處理該組件的事件即可。
阻止事件冒泡
在有些情況下可能會希望阻止事件的冒泡行為,可以使用catch事件綁定,如catchtap,就可以阻止事件的冒泡行為。
可以通過下面的代碼示例來加深對冒泡事件的理解
//.wxml 我是父親節點 我是兒子節點 我是孫子節點 //.js Page({ handleTapOutter:function(event) { console.log(父親節點被點擊) }, handleTapMiddle:function(event) { console.log(兒子節點被點擊) }, handleInner:function(event) { console.log(孫子節點被點擊) }, })
總結下來事件就是指發生了一些事情,通常是用戶進行了一些操作,如點擊某個按鈕或在手機屏幕上滑動了手指。當事件發生時,框架會調用事件處理函數(如果有的話),這樣就可以實現對用戶操作的響應。
感謝各位的閱讀!關于“小程序開發中事件指的是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。