真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

微信小程序中怎么響應用戶輸入事件

這期內容當中小編將會給大家?guī)碛嘘P微信小程序中怎么響應用戶輸入事件,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

介休網站建設公司創(chuàng)新互聯(lián)建站,介休網站設計制作,有大型網站制作公司豐富經驗。已為介休近1000家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿營銷網站建設要多少錢,請找那個售后服務好的介休做網站的公司定做!

微信小程序中如何響應用戶輸入事件

讓我們進一步學習微信小程序控制器,掌握在小程序控制器中響應用戶輸入的方法。

這個例子很簡單,在微信小程序的視圖index.wxml里,我定義了一個按鈕,和一個文本元素。

微信小程序中怎么響應用戶輸入事件

{{counter}}

文本元素綁定到小程序數(shù)據(jù)模型的counter字段上,是一個計數(shù)器。按鈕綁定了一個事件處理函數(shù)jerry_increase。每點擊一次按鈕,微信小程序UI上的計數(shù)器加一。

為此,首先需要在控制器index.js的data數(shù)據(jù)模型里增添一個counter字段。

微信小程序中怎么響應用戶輸入事件

然后實現(xiàn)button的bindtap綁定的函數(shù)jerry_increase。可以看到這個事件處理函數(shù)有一個輸入?yún)?shù)e:

微信小程序中怎么響應用戶輸入事件

當事件處理函數(shù)被調用時,這個輸入?yún)?shù)e是微信框架自動傳入到事件處理函數(shù)的。通過微信開發(fā)者工具的調試器可以看到這個參數(shù)e的明細:tap事件發(fā)生的X和Y坐標,以及事件類型tap。

微信小程序中怎么響應用戶輸入事件

我們如果從當前控制器事件處理函數(shù)執(zhí)行棧向外觀察,發(fā)現(xiàn)它的前一層,即微信框架層的處理邏輯里,在調用事件處理函數(shù)前后分別取兩個當前的時間戳。如果時間戳之差大于1000毫秒,會執(zhí)行第30365行的Reporter.slowReport。由此我們看出,微信希望開發(fā)者實現(xiàn)的事件處理函數(shù)要盡可能高效,執(zhí)行時間不能超過1秒。在手機使用場景里,1秒的等待時間對于最終用戶來說是一個相當長的時間了。

微信小程序中怎么響應用戶輸入事件

另一個值得一提的知識點是,如果直接用JavaScript修改數(shù)據(jù)模型的值,則UI不會有任何變化。

下面是錯誤的做法:

jerry_increase: function(e){     this.data.counter = this.data.counter + 1;
},

下面是正確的做法:

jerry_increase: function(e){  this.setData({       counter: this.data.counter + 1});
},

我們可以通過單步調試正確的做法來理會其中的奧妙:

微信小程序中怎么響應用戶輸入事件

可以看到this.setData里面會調用微信框架的c.default.emit函數(shù),把最新的數(shù)據(jù)通過emit函數(shù)投遞出去。

微信小程序中怎么響應用戶輸入事件

繼續(xù)查看emit的實現(xiàn),可以發(fā)現(xiàn)emit又調用了微信工具類wx的方法:invokeWebviewMethod。從WAService.js的內部實現(xiàn),我們能發(fā)現(xiàn)其實微信小程序在手機上的執(zhí)行實際是運行在WebView里的。

微信小程序中怎么響應用戶輸入事件

一旦WeixinJSBridge.publish.apply(WeixinJSBridge, e)這一行代碼執(zhí)行完畢,UI上的計數(shù)器才被刷新。

微信小程序中怎么響應用戶輸入事件

上述就是小編為大家分享的微信小程序中怎么響應用戶輸入事件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當前名稱:微信小程序中怎么響應用戶輸入事件
URL網址:http://weahome.cn/article/ipdgjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部