组件A:
wxml页面
<text
wx:for={{recommendList}}
wx:key="id"
class="iconfont icon-gengduo"
data-music="{{item}}"
data-musicId="{{item.id}}"
bindtap="gotoDetail"
></text>
js页面
如:想要直接传递一个对象时
gotoDetail(e){
const music = e.currentTarget.dataset.music;
// 在小程序中,不同页面之间如何进行参数传递?
// 既然不能传递对象,所以需要将对象进行类型转换
// encodeURIComponent : 将内容转换为编码
wx.navigateTo({
url:
"/pages/songDetail/songDetail?music=" +
encodeURIComponent(JSON.stringify(music)),
});
},
通常情况下,不会直接传入复杂数据的,最好传递一个id,到详情页在重新请求后端
如:传递id时
gotoDetail(e){
const musicId = e.currentTarget.dataset.musicid;
wx.navigateTo({
url:"/pages/songDetail/songDetail?musicId='' + musicId,
});
},
组件B:
js页面
如:接受对象参数
Page({
data:{},
onLoad(options) {
console.log( JSON.parse( decodeURIComponent( options.music ) ) );
},
});
如:接收 id 参数
Page({
data: {},
onLoad(options){
console.log(options.musicId);
},
});