最近在做小程序時遇到一個需求,是一個商城小程序,在每個商品上都有一個分享按鈕,點擊這個分享按鈕就可以分享這個商品,要求分享的內容是該商品的圖片和標題。
這個需求把我難住了,大家都知道在觸發分享時需要提前設置好分享內容,這是因爲點擊分享按鈕的時候分享函數會立即執行,如果在分享按鈕上綁定點擊函數去動態改變分享內容是不會起作用的,因爲這個時候分享函數已經執行了。怎麼樣在分享函數觸發之前改變分享內容呢?
在小程序社區上也沒有找到相應的解決方法,但是我看到了有人在如何在分享時傳參時提了個建議,那就是在分享按鈕上綁定touchstart函數,一語驚醒夢中人,對阿,普通的點擊函數不起作用,用touchstart不就行了嗎,因爲touchstart是整個點擊動作中最早觸發的,就這樣問題解決,關鍵就是這一行代碼
<button open-type="share" plain="true" class="share-btn" @touchstart="setId({{item}})">
<image src="../assets/share.png" class="icon"></image>
<text>分享</text>
</button>