今回は、WeChat ミニ プログラムを使用してお気に入りを追加する方法と、WeChat ミニ プログラムを使用してお気に入りを追加する際の注意点を説明します。以下は実際のケースです。
要件
コレクションをクリックすると、収集済みとして表示され、コレクション上で現在クリックされているアイテムが別のページに表示されます
解決すべき問題
コレクションをクリックすると、「収集済み」と表示され、テキストのステータスが変わります
別のページは、あなたがお気に入りをクリックしたことをどのようにして認識し、お気に入りをクリックしたデータを取得するのでしょうか
どうやって解決しますか?
データの状態はバインドされており、スタイルは状態によって制御されます(三項演算子)。
キャッシュ(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 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
jsのnew()のコンストラクターの戻り値とこのポインタを変更する方法
以上がWeChat ミニ プログラムを使用してお気に入りを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。