在开发项目中,避免不了不同页面之间传递数据等,那么就需要进行不同页面之间的一个数据传递
直接传递一个对象时:
页面A
gotoDetail(e){const music = e.currentTarget.dataset.music;// 在小程序中,不同页面之间如何进行参数传递?// 既然不能传递对象,所以需要将对象进行类型转换// encodeURIComponent : 将内容转换为编码wx.navigateTo({url:"/pages/songDetail/songDetail?music=" + encodeURIComponent(JSON.stringify(music)),});
},
页面B
Page({data:{},onLoad(options) {console.log( JSON.parse( decodeURIComponent( options.music ) ) );},
});
传递ID
但是通常情况下,我们并不会将对象进行一个传递,而是直接传递一个ID,并在页面B中重新请求
wxml
进行传递参数 id=“传递的值”来进行传递
data-* 自定义属性的设置 但是在后端使用的时候*的内容会全部变成小写
<textwx:for={{recommendList}}wx:key="id"class="iconfont icon-gengduo"data-music="{{item}}"data-musicId="{{item.id}}"bindtap="gotoDetail"
></text>
页面A
gotoDetail(e){const musicId = e.currentTarget.dataset.musicid;wx.navigateTo({url:"/pages/songDetail/songDetail?musicId='' + musicId,});
},
页面B
Page({data: {},onLoad(options){console.log(options.musicId);},
});