首頁 >微信小程式 >小程式開發 >如何使用微信小程式做出新增收藏

如何使用微信小程式做出新增收藏

php中世界最好的语言
php中世界最好的语言原創
2018-06-13 11:55:216991瀏覽

這次帶給大家怎樣使用微信小程式做出新增收藏,使用微信小程式做出新增收藏的注意事項有哪些,以下就是實戰案例,一起來看一下。

需求

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

#需要解決的問題

  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?'已收藏':'收藏'}}</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中文網其它相關文章!

推薦閱讀:

js中new()如何改變建構子回傳值與this指向

怎樣使用JSON格式傳送POST請求

以上是如何使用微信小程式做出新增收藏的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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