微信小程序收藏功能的實(shí)現(xiàn)代碼
需求
點(diǎn)擊收藏后顯示已收藏,在另一個(gè)頁(yè)面出現(xiàn)目前點(diǎn)擊收藏的項(xiàng)目

需要解決的問(wèn)題
- 點(diǎn)擊收藏后需要顯示已收藏,并且文字狀態(tài)改變
- 另一個(gè)頁(yè)面如何知道你點(diǎn)擊了收藏,并且獲得你點(diǎn)擊收藏的數(shù)據(jù)
如何解決?
- 數(shù)據(jù)狀態(tài)綁定,并且由狀態(tài)控制樣式(三元運(yùn)算符)
- 緩存(setStorageSync,getStorageSync),點(diǎn)擊頁(yè)面設(shè)置緩存(數(shù)據(jù)的id),顯示頁(yè)面獲取緩存,通過(guò)獲得緩存id,將整個(gè)數(shù)據(jù)中的獲得的id那一項(xiàng),取出,放入新的數(shù)組
具體實(shí)現(xiàn)
wxml
<image class="save " src="{{isClick?'../../youzan-image/save-s.png':'../../youzan-image/save.png'}}" bindtap="haveSave"></image>
<text class="saveText">{{isClick?'已收藏':'收藏'}}</text>
點(diǎn)擊頁(yè)面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);//設(shè)置緩存
wx.showToast({
title: '已收藏',
});
} else {
wx.showToast({
title: '已取消收藏',
});
}
this.setData({
isClick: !this.data.isClick
})
}
})
顯示頁(yè)面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,
})
},
})
總結(jié)
以上所述是小編給大家介紹的微信小程序收藏功能的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS構(gòu)建頁(yè)面的DOM節(jié)點(diǎn)結(jié)構(gòu)的實(shí)現(xiàn)代碼
本來(lái)想用json格式的,可是要么有重復(fù),要么得嵌套,所以改用對(duì)象嵌套數(shù)組2011-12-12
ECHO.js 純javascript輕量級(jí)延遲加載的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇ECHO.js 純javascript輕量級(jí)延遲加載的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
對(duì)Layer彈窗使用及返回?cái)?shù)據(jù)接收的實(shí)例詳解
今天小編就為大家分享一篇對(duì)Layer彈窗使用及返回?cái)?shù)據(jù)接收的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
javaScript 實(shí)現(xiàn)重復(fù)輸出給定的字符串的常用方法小結(jié)
這篇文章主要介紹了javaScript 實(shí)現(xiàn)重復(fù)輸出給定的字符串的常用方法,總結(jié)分析了JavaScript重復(fù)輸出給定字符串的4種常見操作技巧,需要的朋友可以參考下2020-02-02
徹底搞懂JavaScript中的apply和call方法(必看)
下面小編就為大家?guī)?lái)一篇徹底搞懂JavaScript中的apply和call方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
移動(dòng)端左右滑動(dòng)切換頁(yè)面效果完整代碼(純JavaScript)
這篇文章主要介紹了如何通過(guò)原生JavaScript實(shí)現(xiàn)移動(dòng)端左右滑動(dòng)效果,并結(jié)合tab切換卡功能,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03

