這次給大家?guī)碓鯓邮褂梦⑿判〕绦蜃龀鎏砑邮詹?,使用微信小程序做出添加收藏的注意事項有哪些,下面就是實?zhàn)案例,一起來看一下。
需求
點擊收藏后顯示已收藏,在另一個頁面出現(xiàn)目前點擊收藏的項目
需要解決的問題
-
點擊收藏后需要顯示已收藏,并且文字狀態(tài)改變
-
另一個頁面如何知道你點擊了收藏,并且獲得你點擊收藏的數(shù)據(jù)
如何解決?
-
數(shù)據(jù)狀態(tài)綁定,并且由狀態(tài)控制樣式(三元運算符)
-
緩存(setStorageSync,getStorageSync),點擊頁面設置緩存(數(shù)據(jù)的id),顯示頁面獲取緩存,通過獲得緩存id,將整個數(shù)據(jù)中的獲得的id那一項,取出,放入新的數(shù)組
具體實現(xiàn)
wxml
<image></image> <text>{{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] //將獲得緩存后匹配的數(shù)據(jù)放入新的數(shù)組 let job= []; job.push(temp); this.setData({ id:index, job: job, }) }, })
登錄后復制
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關注有卡有網(wǎng)。