1.主页面为记录添加bindtap事件,通过data-*传递下文所需数值,如本条记录id
<view bindtap="onDetail" data-id="{{item._id}}"> 商品名称:{{item.name}} 价格:{{item.price}}</view>
2.主页面.js里完善onDetail事件
onDetail(e){
console.log('跳转到详情页',e.currentTarget.dataset.id)
wx.navigateTo({
url: '/pages/demo1-1/demo1-1?id='+e.currentTarget.dataset.id,
})
}
注意:传递的数值存放于e.currentTarget.dataset对象中;navigateTo中URL必须是‘/pages/demo...’,按照app.json中目录'pages/demo'会报错。
3.次页面onload()中接收数值id,并实现按id查询。
data: {
good:{}
},
onLoad: function (options) {
console.log('携带的值',options)
wx.cloud.database().collection('goods')
.doc(options.id)
.get()
.then(res=>{
console.log('获取数据成功',res)
this.setData({
good:res.data
})
}
)
.catch(err=>{
console.log('获取数据失败',err)
})
}
onload参数options携带主页面数值,在云数据库.doc()中直接调用id;并通过this.setData()将查询的值赋予当前页面数据对象good
4.次页面.wxml渲染数据good
<text>商品名:{{good.name}} 商品价格:{{good.price}}</text>