方式一:通過設置id方式傳值
通過e.currentTarget.id;獲取設置的id值,并通過設置全局對象的方式來傳遞數值, 獲取全局對象 var app=getApp(); //設置全局的請求訪問傳遞的參數 app.requestDetailid=id;
方式二:通過data - xxxx 的方法標識來傳值
<button class="btninvest" bindtap="goinvet" data-id="{{item.txt}}">投標</button> goinvet:function(e){ // 通過數據解析一層層找到數據,var id=e.target.dataset.id(根據你的data-id的取名) console.log("111````"+e.target.dataset.id); }, |
注:為了方便跨多個頁面訪問一個變量時候可以把該變量設置成全局,如下:
var app=getApp(); app.investid=e.target.dataset.id; |
二:事件
小程序的事件主要有三種類型:
單擊事件由touchstart、touchend組成,touchend后觸發tap事件。
view代碼
<view> <button type="primary" bindtouchstart="mytouchstart" bindtouchend="mytouchend" bindtap="mytap">點我吧</button> </view> JS代碼 mytouchstart: function(e){ console.log(e.timeStamp + '- touch start') },mytouchend: function(e){ console.log(e.timeStamp + '- touch end') },mytap: function(e){ console.log(e.timeStamp + '- tap') } |
雙擊事件由兩個單擊事件組成,兩次間隔時間小于300ms認為是雙擊;微信官方文檔沒有雙擊事件,需要開發者自己定義處理。
點我吧
長按事件手指觸摸后,超過350ms再離開。
<view> <button type="primary" bindtouchstart="mytouchstart" bindlongtap="mylongtap" bindtouchend="mytouchend" bindtap="mytap">點我吧</button> </view> |
mytouchstart: function(e){ console.log(e.timeStamp + '- touch start') }, //長按事件 mylongtap: function(e){ console.log(e.timeStamp + '- long tap') }, console.log(e.timeStamp + '- touch end') }, mytap: function(e){ console.log(e.timeStamp + '- tap') } |