关于微信小程序收藏功能的实现

互联网 18-6-26
这篇文章主要介绍了微信小程序收藏功能的实现代码,基本功能是点击收藏后显示已收藏,在另一个页面出现目前点击收藏的项目。需要的朋友可以参考下

需求

点击收藏后显示已收藏,在另一个页面出现目前点击收藏的项目

  1. 点击收藏后需要显示已收藏,并且文字状态改变

如何解决?

  1. 数据状态绑定,并且由状态控制样式(三元运算符)

  2. 缓存(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,  })  }, })

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

微信小程序之点赞和删除列表以及分享的功能实现

微信小程序中滚动消息通知的实现

微信小程序动态显示项目倒计时的效果

以上就是关于微信小程序收藏功能的实现的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:怎么查询微信公众号小程序的APPID

相关资讯