|
微信小程序?qū)懮唐妨斜頃r(shí)或者類似的列表時(shí),會(huì)用到wx:for,而這個(gè)會(huì)有弊端就是你不能通過一條指令進(jìn)入不同的頁面,如何進(jìn)入不同的頁面呢,一般后臺(tái)會(huì)傳一個(gè)類似于ID的值過來我們就可以根據(jù)這些值的不同進(jìn)入不同的頁面。 還是假如從A頁面進(jìn)入B頁面,A頁面是一些不同的列表,B頁面是A頁面的詳細(xì)內(nèi)容 這是后臺(tái)傳過來的一部分列表的數(shù)據(jù)其中就有courseId可以看出courseId的值是不相同的,我們就可以根據(jù)這些不同的值進(jìn)入不同頁面。 還是通過URL將這些courseId的值傳給下一個(gè)頁面代碼如下:
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
//通過Url將被賦值的ID傳到下一個(gè)頁面
})
},
因?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頁面中有如下操作: 在onload函數(shù)中對(duì)URL傳過來的ID進(jìn)行實(shí)例化setData代碼如下:
this.setData({
position: options.id
})
同時(shí)B頁面?zhèn)鲄?shù)的時(shí)候?qū)D當(dāng)做參數(shù)傳給B頁面代碼如下:
var params = {
id: this.data.position //記住這里并沒有用that
}
position: '',用來記錄ID值在以后其他地方也可以用,如果只用A跳轉(zhuǎn)B頁面就不需要這一步。列如B頁面跳轉(zhuǎn)C頁面這個(gè)東西就可以加在URL傳過去了代碼如下: '&id=' + that.data.position(只截取了一部分) |