您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微信小程序收藏功能怎么弄的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
需求
點擊收藏后顯示已收藏,在另一個頁面出現目前點擊收藏的項目
需要解決的問題
點擊收藏后需要顯示已收藏,并且文字狀態改變
另一個頁面如何知道你點擊了收藏,并且獲得你點擊收藏的數據
如何解決?
數據狀態綁定,并且由狀態控制樣式(三元運算符)
緩存(setStorageSync,getStorageSync),點擊頁面設置緩存(數據的id),顯示頁面獲取緩存,通過獲得緩存id,將整個數據中的獲得的id那一項,取出,放入新的數組
具體實現
wxml
<image class="save " src="{{isClick?'../../youzan-image/save-s.png':'../../youzan-image/save.png'}}" bindtap="haveSave"></image> <text class="saveText">{{isClick?'已收藏':'收藏'}}</text>
點擊頁面js
Page({ data: { job: [], jobList: [], id: '', isClick: false, jobStorage: [], jobId: '' }, haveSave(e) { if (!this.data.isClick == true) { let jobData = this.data.jobStorage; jobData.push({ jobid: jobData.length, id: this.data.job.id }) wx.setStorageSync('jobData', jobData);//設置緩存 wx.showToast({ title: '已收藏', }); } else { wx.showToast({ title: '已取消收藏', }); } this.setData({ isClick: !this.data.isClick }) } })
顯示頁面js
import jobList from '../../api/detail' Page({ data: { id:'', job:[], savejob:[], }, onLoad: function (options) { console.log(wx.getStorageSync('jobData')); let savejob = wx.getStorageSync('jobData')//獲得緩存 let index = savejob.length-1; console.log(savejob[index].id); let jobid = savejob[index].id let temp= jobList[jobid] //將獲得緩存后匹配的數據放入新的數組 let job= []; job.push(temp); this.setData({ id:index, job: job, }) }, })
感謝各位的閱讀!關于“微信小程序收藏功能怎么弄”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。