方式一:通過(guò)設(shè)置id方式傳值
通過(guò)e.currentTarget.id;獲取設(shè)置的id值,并通過(guò)設(shè)置全局對(duì)象的方式來(lái)傳遞數(shù)值, 獲取全局對(duì)象 var app=getApp(); //設(shè)置全局的請(qǐng)求訪問(wèn)傳遞的參數(shù) app.requestDetailid=id;
方式二:通過(guò)data - xxxx 的方法標(biāo)識(shí)來(lái)傳值
<button class="btninvest" bindtap="goinvet" data-id="{{item.txt}}">投標(biāo)</button>
goinvet:function(e){
// 通過(guò)數(shù)據(jù)解析一層層找到數(shù)據(jù),var id=e.target.dataset.id(根據(jù)你的data-id的取名)
console.log("111````"+e.target.dataset.id);
},
|
注:為了方便跨多個(gè)頁(yè)面訪問(wèn)一個(gè)變量時(shí)候可以把該變量設(shè)置成全局,如下:
var app=getApp(); app.investid=e.target.dataset.id; |
二:事件
小程序的事件主要有三種類(lèi)型:
單擊事件由touchstart、touchend組成,touchend后觸發(fā)tap事件。
view代碼
<view>
<button type="primary" bindtouchstart="mytouchstart" bindtouchend="mytouchend" bindtap="mytap">點(diǎn)我吧</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')
}
|
雙擊事件由兩個(gè)單擊事件組成,兩次間隔時(shí)間小于300ms認(rèn)為是雙擊;微信官方文檔沒(méi)有雙擊事件,需要開(kāi)發(fā)者自己定義處理。
點(diǎn)我吧

長(zhǎng)按事件手指觸摸后,超過(guò)350ms再離開(kāi)。
<view>
<button type="primary" bindtouchstart="mytouchstart" bindlongtap="mylongtap"
bindtouchend="mytouchend" bindtap="mytap">點(diǎn)我吧</button>
</view>
|
mytouchstart: function(e){
console.log(e.timeStamp + '- touch start')
},
//長(zhǎng)按事件
mylongtap: function(e){
console.log(e.timeStamp + '- long tap')
},
console.log(e.timeStamp + '- touch end')
},
mytap: function(e){
console.log(e.timeStamp + '- tap')
}
|