自己刚接触小程序,在网上找了很多的收藏的代码,但是发现都点击收藏后,退出去再回来已收藏又变成未收藏状态,然后自己就改改改 拼拼凑凑 终于改了出来 侵删 就是代码有些复杂 感觉可以更简便 但是我还没有找到方法 在这里记录一下 有大佬也可以指点一下
.wxml代码
<view class="save" >
<text class="saveText">{{isClick?'已收藏':'收藏'}}</text>
<image style="height: 50rpx; padding: 4rpx;" mode="heightFix"
src="{{isClick?'https://636c-cloud1-2gz5yzstf4bf5a3e-1309497881.tcb.qcloud.la/%E8%81%9A%E6%94%B6%E8%97%8Fgift.png?sign=f791e9c1b27556e4edbfb9dab7ae8fa8&t=1649143160':'https://636c-cloud1-2gz5yzstf4bf5a3e-1309497881.tcb.qcloud.la/%E8%81%9A%E6%94%B6%E8%97%8F%20(1).png?sign=06b33d1e2e959ece67f398aac815b110&t=1649143139'}}" bindtap="haveSave" ></image>
</view>
.js代码
data: {
job: [],
job2:[],
id: '',
isClick: false,
jobStorage: [],
jobId: ''
},
haveSave(e) {
let jobData = this.data.jobStorage;
let truejobDat=this.data.job2;
this.setData({job2:wx.getStorageSync('jobData')})
for (var i =0; i<(this.data.job2.length); i++) {
if (this.data.job2[i].saved ==true){
jobData.push({
jobid: this.data.job2[i].jobid,
id: this.data.job2[i].id,
saved:this.data.job2[i].saved})
}
}
if (!this.data.isClick == true) {
jobData.push({
jobid: jobData.length,
id: this.data.id,
saved:true
})
wx.setStorageSync('jobData', jobData);//设置缓存
wx.showToast({
title: '已收藏',
});
}
else {
console.log(jobData)
for (var i =0; i<(jobData.length); i++) {
if (jobData[i].id != this.options.index){
truejobDat.push({
jobid: jobData[i].jobid,
id: jobData[i].id,
saved:jobData[i].saved })
}
}
wx.showToast({
title: '已取消收藏',
});
wx.setStorageSync('jobData', truejobDat);
}
this.setData({
isClick: !this.data.isClick
})
},
onLoad: function (options) {
let detailStorage = wx.getStorageSync('jobData')
console.log(wx.getStorageSync('jobData'))
for (var i =0; i<(detailStorage.length); i++) {
if (detailStorage[i].id==options.index) {
if (detailStorage[i].saved){
this.setData({isClick: true })
}
} }
},
结果:



701




被折叠的 条评论
为什么被折叠?



