這里我找到兩種小程序上的參數(shù)傳遞方式,為了方便,我單獨拿出來和大家分享下.
先來看眼小程序對事件的定義:
#什么是事件?
這里是列表文本事件是視圖層到邏輯層的通訊方式。
這里是列表文本事件可以將用戶的行為反饋到邏輯層進行處理。
這里是列表文本事件可以綁定在組件上,當達到觸發(fā)事件,就會執(zhí)行邏輯層中對應(yīng)的事件處理函數(shù)。
這里是列表文本 事件對象可以攜帶額外信息,如id, dataset, touches。
很明確的指出了是視圖層【wxml】到邏輯層【js】的通信方式,時間對象可以攜帶額外信息,用這個事件來傳遞參數(shù)肯定沒錯了,接下來我們就來實際看下例子:
視圖.wxml
<view id="tapTest" data-hi="MINA" bindtap="tapName"> Click me! </view>
邏輯.js
Page({
tapName: function(event) {
console.log(event.target)
}
})
log打印
可以看到 dataset 里面就是我們設(shè)置的data-hi="MINA"的值了?,F(xiàn)在我們來看下剛剛我們寫的, 首先 bindtap,以bind開頭的就是要給他綁定個事件,這個事件的名字就是“=”號后面的數(shù)值就是綁定的事件名稱,需要在 邏輯【js】層定義上。 然后就是傳值了,注意到的朋友可以看到 我們這里寫了data-hi 和我們平時寫js的傳值是同一個定義方法。這個data-*就對應(yīng)事件的屬性target里的dataset
值。這里我們需要調(diào)用的話就是event.target.dataset.hi
就能取到data-hi所對應(yīng)的值。
這里需要注意下 data的定義名稱: 書寫方式: 以data-開頭,多個單詞由連字符-鏈接,不能有大寫(大寫會自動轉(zhuǎn)成小寫)如data-element-type,最終在 event.target.dataset 中會將連字符轉(zhuǎn)成駝峰elementType。
官方示例:
<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
Page({
bindViewTap:function(event){
event.target.dataset.alphaBeta == 1 // - 會轉(zhuǎn)為駝峰寫法
event.target.dataset.alphabeta == 2 // 大寫會轉(zhuǎn)為小寫
}
})
*.wxml
<view class="btn-area">
<navigator url="navigate?title=navigate" hover-class="navigator-hover">跳轉(zhuǎn)到新頁面</navigator>
<navigator url="redirect?title=redirect" redirect hover-class="other-navigator-hover">在當前頁打開</navigator>
</view>
*.js 跳到新頁面之后在onload里面直接接收參數(shù),接收方法也就是 options.[參數(shù)值]
Page({
onLoad: function(options) {
this.setData({
title: options.title
})
}
})
好啦,今天就寫到這里,我順便把文檔鏈接寫上,上面寫的文檔里都有。我只是把它們搬出來了,用我的話說了一遍。 …(⊙_⊙;)…
什么是事件
navigator