|
微信小程序?qū)懮唐妨斜頃r(shí)或者類(lèi)似的列表時(shí),會(huì)用到wx:for,而這個(gè)會(huì)有弊端就是你不能通過(guò)一條指令進(jìn)入不同的頁(yè)面,如何進(jìn)入不同的頁(yè)面呢,一般后臺(tái)會(huì)傳一個(gè)類(lèi)似于ID的值過(guò)來(lái)我們就可以根據(jù)這些值的不同進(jìn)入不同的頁(yè)面。 還是假如從A頁(yè)面進(jìn)入B頁(yè)面,A頁(yè)面是一些不同的列表,B頁(yè)面是A頁(yè)面的詳細(xì)內(nèi)容 這是后臺(tái)傳過(guò)來(lái)的一部分列表的數(shù)據(jù)其中就有courseId可以看出courseId的值是不相同的,我們就可以根據(jù)這些不同的值進(jìn)入不同頁(yè)面。 還是通過(guò)URL將這些courseId的值傳給下一個(gè)頁(yè)面代碼如下:
bindtap: function (e) {
let id = this.data.courseList[e.currentTarget.dataset.pos].courseId;
//獲取列表的下標(biāo)值相對(duì)應(yīng)的courseId然后賦值
wx.navigateTo({
url: '../../pages/trade/tradeParticulars/tradeParticulars?id=' + id
//通過(guò)Url將被賦值的ID傳到下一個(gè)頁(yè)面
})
},
因?yàn)樵趙xml文件中有如下定義:
<view class='index-item-boxs' wx:for="{{courseList}}" wx:key="{{items}}" bindtap='bindtap' data-pos='{{index}}'></view>
data-pos='{{index}}'//獲取列表的下標(biāo)值
在B頁(yè)面中有如下操作: 在onload函數(shù)中對(duì)URL傳過(guò)來(lái)的ID進(jìn)行實(shí)例化setData代碼如下:
this.setData({
position: options.id
})
同時(shí)B頁(yè)面?zhèn)鲄?shù)的時(shí)候?qū)D當(dāng)做參數(shù)傳給B頁(yè)面代碼如下:
var params = {
id: this.data.position //記住這里并沒(méi)有用that
}
position: '',用來(lái)記錄ID值在以后其他地方也可以用,如果只用A跳轉(zhuǎn)B頁(yè)面就不需要這一步。列如B頁(yè)面跳轉(zhuǎn)C頁(yè)面這個(gè)東西就可以加在URL傳過(guò)去了代碼如下: '&id=' + that.data.position(只截取了一部分) |