搜尋
首頁微信小程式小程式開發微信小程式實戰開發之視圖層WXML:事件

上篇文章講解了資料綁定、模板、邏輯等,主要的作用是在視圖中展示數據,以及如何展示。但只有展示是不夠的,我們需要互動。例如一個HTML頁面,可以展示文字、圖片,但還要有一些互動,像是連結、按鈕等。


互動其實就是事件了。例如HTML中 button 的 onClick ,就是點擊的時候,觸發的動作以及開發人員對應的業務邏輯處理。


一、事件小範例:bindtap

事件是視圖層到邏輯層的通訊方式。將使用者的行為回饋到邏輯層進行處理。一般是綁定在元件上,觸發時執行處理函數,並可以攜帶參數。


做一個按鈕,實作頁面跳轉。

#index.wxml:

#視圖層WXML:事件







index.js:

toEvent : function(){


    // 跳到event.wxml頁面   


#    wx.navigateTo({

          url: '/pages/wxml/event'

    })}

微信小程式實戰開發之視圖層WXML:事件


效果動圖


#二、事件分類:冒泡、非冒泡

冒泡事件:

    當一個元件上的事件觸發後,該事件會向父節點傳遞。

非冒泡事件:類型    觸發事件手指觸摸動作開始手指觸摸後移動#手指觸摸動作被打斷,如來電提醒,彈出視窗#手指觸摸後馬上離開
    當一個元件上的事件觸發後,該事件不會傳遞到父節點。

以下為冒泡事件,其他元件事件無特殊申明都是非冒泡事件

##touchstart

#touchmove

touchcancel

touchend
手指觸摸動作結束

tap               

############longtap############手指觸摸後,超過350ms再離開## #############

例如:

微信小程式實戰開發之視圖層WXML:事件

#事件以bind或catch開頭

bind事件綁定不會阻止冒泡事件向上冒泡,如bindtap。

catch事件綁定可以阻止冒泡事件向上冒泡,如catchtap。


因為handleTap2是catchtap,所以:

##點擊inner view,會先後觸發handleTap3、handleTap2

點擊middle view,只會觸發handleTap2

點擊outer view,會觸發handleTap1


在偵錯日誌中查看

微信小程式實戰開發之視圖層WXML:事件

可以看到事件執行的日誌和事件物件。

微信小程式實戰開發之視圖層WXML:事件

#三、事件物件

如無特殊說明,當元件觸發事件時,邏輯層綁定該事件的處理函數會收到一個事件物件。 (見上圖,事件物件)

currentTarget##Object

BaseEvent

type

String

事件類型

timeStamp

Integer

# target

Object
觸發事件的元件的一些屬性值集合

Object

#目前元件的一些屬性值集合

#CustomEvent自訂事件(繼承BaseEvent)

#detail

###額外的資訊######################TouchEvent觸控事件(繼承BaseEvent)####### ##############touches############Array############目前停留在螢幕中的觸控點資訊的陣列##################changedTouches#############Array###########目前變更的觸控點資訊的陣列###############

事件詳細介紹請參考官方文件。


target 和currentTarget

target 和currentTarget 可以參考上例中,點選inner view 時,handleTap3 收到的事件物件target 和currentTarget 都是inner,而handleTap2 收到的事件物件target 是inner,currentTarget 是middle。


target 和currentTarget 中的dataset屬性
在元件中可以定義數據,這些數據將會透過事件傳遞給SERVICE。

書寫方式: 以data-開頭,多個單字由連字符-鏈接,所有的大寫會自動轉成小寫,連字符轉成駝峰


例如:


微信小程式實戰開發之視圖層WXML:事件

##touches是Touch物件的陣列


更多微信小程式實戰開發之視圖層WXML:事件相關文章請關注PHP中文網!


#
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器