<button open-type="share">分享</button>异步问题怎么解决
时间: 2023-12-12 07:05:03 浏览: 47
在小程序中,当我们点击一个带有open-type="share"属性的按钮时,会立即唤起分享功能,而此时我们的请求是异步执行的,可能还没有返回结果就已经唤起了分享。为了解决这个问题,我们可以在页面加载时提前获取接口内容,并将其保存在data中。如果列表中有多个带有分享功能的按钮,我们可以将分享的参数先绑定到按钮上,然后在onShareAppMessage方法中获取这些参数。例如,在wxml中给按钮添加data-id属性来绑定分享参数:
<button open-type="share" data-id="1">分享</button>
<button open-type="share" data-id="2">分享</button>
然后在js的onShareAppMessage方法中,通过res.target.dataset.id来获取按钮上绑定的分享参数:
onShareAppMessage: function (res) {
if (res.from === 'button') {
let shareId = res.target.dataset.id;
// 根据shareId获取分享内容
}
return {
title: '自定义转发标题',
path: `/page/index?id=${shareId}`
}
}
这样,当我们点击分享按钮时,就可以获取到对应的分享参数,并进行相应的处理。这样就解决了异步请求和分享按钮的冲突问题。\[1\]
#### 引用[.reference_title]
- *1* [关于小程序转发分享的一些坑(带上异步请求后的参数)](https://blog.csdn.net/laishaojiang/article/details/83305701)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [微信小程序开发(BlackHorse)](https://blog.csdn.net/weixin_46154922/article/details/118996924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]