這篇文章主要介紹了微信小程式快取(本地快取、非同步快取、同步快取)詳解的相關資料,需要的朋友可以參考下
微信小程式快取
關於本機快取
1.wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorage
##)
##可以對本機快取進行設定、取得和清理。本機快取最大為10MB2.localStorage 是永久儲存
一、非同步快取
wx. setStorage(OBJECT)
將資料儲存在本機快取中指定的key 中,會覆寫原來該key 對應的內容wx.setStorage({ key:"key", data:"value" })
wx.getStorage(OBJECT)
從本機快取中非同步取得指定key 對應的內容。wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.getStorageInfo(OBJECT)
非同步取得目前storage的相關資訊
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } })
wx.removeStorage(OBJECT)
#從本機快取中非同步移除指定key 。wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })
二、同步快取
wx.setStorageSync(KEY,DATA)
將data 儲存在本機快取中指定的key 中,會覆寫原來該key 對應的內容,這是一個同步介面。
wx.getStorageSync(KEY)
#從本機快取中同步取得指定 key 對應的內容。
wx.getStorageInfoSync
同步取得目前storage的相關資訊wx.removeStorageSync(KEY)
#從本機快取中同步移除指定key 。三、清理快取wx.clearStorage()
清理本機資料快取。wx.clearStorageSync()
同步清理本機資料快取 關於同步快取和非同步快取的差異以Sync(同步,同時)結尾的都是同步緩存,二者的差異是,非同步不會阻塞目前任務,同步快取直到同步方法處理完才能繼續往下執行。 但是一般情況下不要用清除所有的緩存,如果想要清除對應的緩存,設定對應的快取內容為空數組就好
關於歷史搜尋
<input type="text" class="search-icon" placeholder="请输入要搜索的内容" bindinput="searchNameInput"/> <text bindtap="setSearchStorage">搜索</text> <view> <view> <text style="float:left;" bindtap="deleteHistory">历史搜索</text> <text style="float:right;" bindtap="deleteHistory">删除搜索历史</text> </view> <view> <view class="search-list" wx:for="{{searchData}}" wx:key="item"> <view>{{item == null?'暂无数据':item}}</view> </view> </view> </view>
頁面
#這裡有三個綁定事件bindinput=" searchNameInput" 取得使用者輸入的資料
bindtap="setSearchStorage" 設定本機儲存
bindtap="deleteHistory" 刪除歷史搜尋
//获取用户输入框的值 searchNameInput:function(e){ var that = this; that.setData({ inputValue:e.detail.value }) } e.detail.value就代表了当前输入值點擊搜尋的時候,bindtap="setSearchStorage"##
//将用户输入的内容存入本地缓存,并且将搜索数据放到首页 setSearchStorage:function(){ var that = this if(this.data.inputValue != ''){ //调用API向本地缓存存入数据 var searchData = wx.getStorageSync('searchData') || [] searchData.push(this.data.inputValue) wx.setStorageSync('searchData', searchData) //读取用户搜索商品 var name = this.data.inputValue wx.request({ url: 'www.shop.com/home/product/search', data: {name:name}, method: 'GET', success: function(res){ that.setData({ goodsList: res.data.info, }) }, }) } }
# 流程這麼走:
1.用戶輸入數據,點擊搜尋
2.如果數據不為空,加入(設定)本地快取3.去伺服器搜尋用戶想要的數據,賦值給這個頁面的變數
4.點選刪除,去除本機這個key的value
這裡的快取形式的 key=>value
#var searchData = wx.getStorageSync('searchData') || []取得本機名字為'searchData'的緩存,如果'searchData'這個快取不存在就相當於重新什麼一個空數組,賦值給searchData這個變數
searchData.push(this.data.inputValue)將使用者輸入的值PUSH進searchData這個變數裡
wx.setStorageSync('searchData', searchData)#呼叫API接口,重新設定key = 'searchData'的這個快取的value等於searchData
下面的wx.request是請求資料的內容,說膩了,印象夠深了。 這裡沒有綁定取得快取的bindtap,只要取得到,然後加入到Page裡面的data
這裡是將'searchData '這個key的快取的value為空數組,而不是使用API提供的wx.clearStorageSync,這個會清除其他的所有緩存,而我只是想清除這一個key的緩存以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!相關推薦:
###微信小程序 彈出視窗自訂的程式碼############微信小程式的訊息提示方塊的實作###################### ####以上是微信小程式中快取的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)