首頁 >微信小程式 >小程式開發 >關於微信小程式收藏功能的實現

關於微信小程式收藏功能的實現

不言
不言原創
2018-06-26 15:41:317126瀏覽

這篇文章主要介紹了微信小程式收藏功能的實現代碼,基本功能是點擊收藏後顯示已收藏,在另一個頁面出現目前點擊收藏的項目。需要的朋友可以參考下

需求

#點擊收藏後顯示已收藏,在另一個頁面出現目前點擊收藏的項目

需要解決的問題

  1. 點擊收藏後需要顯示已收藏,並且文字狀態改變

  2. 另一個頁面如何知道你點擊了收藏,並且獲得你點擊收藏的資料

如何解決?

  1. 資料狀態綁定,並且由狀態控制樣式(三元運算子)

  2. 快取(setStorageSync,getStorageSync),點擊頁面設定快取(資料的id),顯示頁面取得快取,透過取得快取id,將整個資料中的取得的id那一項,取出,放入新的陣列

具體實作

wxml

<image class="save " src="{{isClick?&#39;../../youzan-image/save-s.png&#39;:&#39;../../youzan-image/save.png&#39;}}" bindtap="haveSave"></image>
   <text class="saveText">{{isClick?&#39;已收藏&#39;:&#39;收藏&#39;}}</text>

點選頁面js

 Page({
  data: {
  job: [],
  jobList: [],
  id: &#39;&#39;,
  isClick: false,
  jobStorage: [],
  jobId: &#39;&#39;
  },
  haveSave(e) {
  if (!this.data.isClick == true) {
   let jobData = this.data.jobStorage;
   jobData.push({
   jobid: jobData.length,
   id: this.data.job.id
   })
   wx.setStorageSync(&#39;jobData&#39;, jobData);//设置缓存
   wx.showToast({
   title: &#39;已收藏&#39;,
   });
  } else {
   wx.showToast({
   title: &#39;已取消收藏&#39;,
   });
  }
  this.setData({
   isClick: !this.data.isClick
  })
  }
 })

顯示頁面js

#
import jobList from &#39;../../api/detail&#39;
Page({
 data: {
 id:&#39;&#39;,
 job:[],
 savejob:[],
 },
 onLoad: function (options) {
 console.log(wx.getStorageSync(&#39;jobData&#39;));
 let savejob = wx.getStorageSync(&#39;jobData&#39;)//获得缓存
 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中文網!

相關推薦:

微信小程式之讚和刪除清單以及分享的功能實現

微信小程序中捲動訊息通知的實作

微信小程式動態顯示專案倒數計時的效果

以上是關於微信小程式收藏功能的實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn