小程序的分享功能比较简单,直接在page 里加 onShareAppMessage 属性, 官网代码如下:
Page({
onShareAppMessage: function () {
return {
title: '自定义分享标题',
path: '/page/user?id=123'
}
}
})
但是,如果是模板页面怎么办呢?例如,从文章列表里点击文章标题后进入文章详情页面,该页面是通过参数动态生成的页面,分享该页面以后实际上这个页面的数据就消失了,如果只用上面的代码你就发现打开页面后会提示“数据为空”。
怎么解决呢?
那就是在return 的对象里,添加当前页面的参数,比如,在页面注册的时候初始化了一个data属性用于向数据传递,data:{info: {id:"",title:"" ,img:"",content:''}},那么我需要将该data作为return的对象的一个参数,
onShareAppMessage: function () {
return {
title: '仁医邦——让影像诊断更精准!',
path: "pages/artical/artical" ,
data:{data}
}
}
这样再分享出去,就能通过分享的链接回到当前页面了,实际是通过参数传递重现渲染了该页面。 新手处女贴,不喜勿拍!