小程序跳转页面传参数的时候报错
参数写错了
login.xhtml
<view class="rank" wx:for="{{rankList}}" data-ids="{{item.id}}" data-names="{{item.name}}" data-description="{{item.description}}"
data-baiduLink="{{item.freeDownloadLink}}" bindtap="toDetail">
login.js
toDetail(e){
console.log(e.currentTarget.dataset.names); // name
wx.navigateTo({
url: '../detail/detail?id=' + e.currentTarget.dataset.ids + '&name=' + e.currentTarget.dataset.names + '&description=' + e.currentTarget.dataset.description + '&baiduLink=' +baiduLink,
})
},
这里的url的baiduLink不被识别,因为data- 等形式传的参数需要通过e.currentTarget.dataset.参数来调用。修改就好了
修改后:
toDetail(e){
console.log(e.currentTarget.dataset.names); // name
wx.navigateTo({
url: '../detail/detail?id=' + e.currentTarget.dataset.ids + '&name=' + e.currentTarget.dataset.names + '&description=' + e.currentTarget.dataset.description + '&baiduLink=' +e.currentTarget.dataset.baiduLink,
})
}
解决~
toDetail.js
onLoad(options) {
wx.setNavigationBarTitle({
title: '详情',
});
// 获取传递的参数
const { id, name, description,baiduLink} = options;
// 构建新的数据对象
const newItem = { id, name, description,baiduLink };
// 获取当前页面的rankList数据
const rankList = this.data.rankList || [];
// 将新数据对象添加到rankList中
rankList.push(newItem);
// 更新rankList数据
this.setData({
rankList: rankList
}, () => {
console.log(this.data.rankList);
});
},