問題
今日小程序開發遇到個很奇怪的問題。A頁面傳id值到B頁面,id值10%的概率爲空。打斷點復現bug調試如下:
- 給cell的value值設置爲id,頁面有參數,說明標籤的id值正常。
- 方法的event參數無值。
原因
說明是事件傳參異常。
wxml代碼
<van-cell value="{{ item.gotoid }}" is-link link-type="navigateTo" bindtap="gotoDetail" id="{{ item.gotoid }}"
label="{{ item.applyType }} {{ item.applyUser }}">
查閱資料
查看了網上關於小程序事件傳參綁定的方法,不同於vue,事件不支持綁定參數,且對象的參數需要綁定在data-index中,如下
探究問題
在方法函數中,採用event.target.dataset.index的方式獲取參數,但問題是,bug仍然會復現…奇了怪了
嘗試同時獲取currentTarget對象的值,發現了問題
如上圖,在特殊情況下,CurrentTarget對象可以正常獲取值,target對象無法正常獲取值。
因此採用CurrentTarget對象獲取參數較爲妥當。
問題原因探究
上班忙,下班待更新