麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

微信小程序實現bindtap等事件傳參

2020-03-21 16:00:13
字體:
來源:轉載
供稿:網友

之前一直以為微信小程序按鈕點擊事件傳參是和web端相同,即在事件中寫明所傳遞的參數即可,但是這樣嘗試過以后發現小程序的控制臺報錯,報所寫的bindtap中參數錯誤,之后百度發現,小程序按鈕點擊這類事件時一般的處理方法是指明元素所在的id,bindtap只是寫明函數名,例如,bindtap='setNumber',而不是bindtap='setNumber(1)',在js中只要寫function(e).通過e可以獲取所傳過來元素的所有信息。

什么是事件

事件是視圖層到邏輯層的通訊方式。 事件可以將用戶的行為反饋到邏輯層進行處理。 

事件可以綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。 

事件對象可以攜帶額外信息,如 id, dataset, touches。

微信小程序,bindtap,事件傳參

微信小程序,bindtap,事件傳參

看圖,因為需要傳遞的數據比較多,所以我們通過dataset攜帶參數信息。如果只有一個參數,可以通過id來傳遞。

詳解(以常見的tap點擊事情為例)

wxml

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

JS

Page({ tapName: function(event) { console.log(event) }})

event 打印結果

{"type":"tap","timeStamp":895,/////////////////////////////////"target": { "id": "tapTest", "dataset": { "hi":"WeChat" }},"currentTarget": { "id": "tapTest", "dataset": { "hi":"WeChat" }},///////////////////////////////"detail": { "x":53, "y":14},"touches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14}],"changedTouches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14}]}

注意兩點:

1、data-名稱 不能有大寫字母,如果需要,可以通過 - (中劃線)來連接單詞,編譯的時候小程序會將第二個單詞首字母自動大寫。圖中代碼是為了自己標志,所以第二個單詞的首字母大寫了,其實可以不用。data-* 屬性中不可以存放對象。

2、注意打印結果中target和currentTarget的區別。

  • target 觸發事件的源組件。
  • currentTarget 事件綁定的當前組件。

如果你在父容器上綁定了事件并傳參,當你點擊父容器時,事件綁定的組件和觸發事件的源組件是同一個元素,所以currentTarget 、target 都可以拿到參數,但是當你點擊子元素時,target 就不是事件綁定的組件了,所以拿不到參數。 
由于事件冒泡的機制,父容器上綁定的事件依然可以觸發,所以currentTarget 依然可以拿到參數。

說明

id傳參和dataset類似,只是最后獲取值的時候不同。event.currentTarget.id

PS:小程序 view使用bindtap傳值問題

如圖,view標簽 加 bindtap事件,用data-name傳值,如果view中只有文字,點擊整個view區域都可以接收到data-name的值,如果view里面加一個lable標簽,那么點擊lable包裹的區域,data-name取不到值。  解決方法:把取值方式  由e.target.dataset.carrierName  修改為e.currentTarget.dataset.carrierName即可

微信小程序,bindtap,事件傳參

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成年性羞羞视频免费观看无限 | 精品国产一区在线观看 | 久久精品国产99国产精品亚洲 | 成人毛片视频在线观看 | 一级做a爱视频 | 精品无吗乱吗av国产爱色 | 久久久毛片视频 | 美女黄污视频 | 狠狠干五月天 | 亚洲欧美国产视频 | 黄色av电影在线 | 91成人在线免费观看 | 黄色免费不卡视频 | 精品国产欧美一区二区 | 国产69精品久久久久久久久久 | 亚洲综合网站 | 亚洲乱搞 | 久久99精品久久久久久236 | 91美女视频在线观看 | 日本欧美一区二区三区视频麻豆 | 国产精品久久久久久婷婷天堂 | 男女羞羞在线观看 | 久久2019中文字幕 | 美女视频大全网站免费 | 亚洲日本欧美 | 国产一级二级视频 | 一级@片 | 美女视频免费一区二区 | 久久精品成人免费国产片桃视频 | 亚洲成人在线视频网 | 一区二区三区在线视频观看58 | 亚洲一区二区三区高清 | 国产精品久久久久久久久久久天堂 | 国产性tv国产精品 | 亚洲嫩草av| 91av久久 | 我爱我色成人网 | 免费观看高清视频网站 | 国产四区| 免费观看黄视频 | 国产精品亚洲综合一区二区三区 |