在onShareAppMessage中如何区分点击的是哪个分享按钮呢?
优采云 发布时间: 2021-08-18 23:02在onShareAppMessage中如何区分点击的是哪个分享按钮呢?
如果页面有多个分享按钮(component open-type="share"),如何区分onShareAppMessage中点击的是哪个分享按钮?其实onShareAppMessage的res可以得到分享按钮的data-属性,还有id属性,所以有两种区分方式:
一、用id来区分
1
2
onShareAppMessage: function (res) {
if (res.from === 'button') {
// 来自页面内转发按钮
if (res.target.id == 1) {
return {
title: '自定义1111转发标题',
path: '/page/user?id=123'
}
}
if (res.target.id == 2) {
return {
title: '自定义22222转发标题',
path: '/page/user?id=123'
}
}
} else {
return {
title: '自定义转发标题',
path: '/page/user?id=123'
}
}
}
以上代码主要通过按钮按钮组件的id来区分。以javascript中onShareAppMessage中的res.target.id来区分,同一个页面共享多个。
二、使用data-id来区分,和普通按钮的data-data获取一样:
onShareAppMessage: function (res) {
if (res.from === 'button') {
// 来自页面内转发按钮
if (res.target.dataset.id == 1) {
return {
title: '自定义1111转发标题',
path: '/page/user?id=123'
}
}
if (res.target.dataset.id == 2) {
return {
title: '自定义22222转发标题',
path: '/page/user?id=123'
}
}
} else {
return {
title: '自定义转发标题',
path: '/page/user?id=123'
}
}
}
以上代码主要以js的data-来区分。在js中通过res.target.dataset获取data-对应的数据,实现同一个页面,多个共享。