您好,登錄后才能下訂單哦!
這篇文章主要介紹使用小程序做出添加收藏的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
需求
點擊收藏后顯示已收藏,在另一個頁面出現目前點擊收藏的項目
需要解決的問題
點擊收藏后需要顯示已收藏,并且文字狀態改變
另一個頁面如何知道你點擊了收藏,并且獲得你點擊收藏的數據
如何解決?
數據狀態綁定,并且由狀態控制樣式(三元運算符)
緩存(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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。