uni-app 之 數據緩存


uni-app 之 數據緩存

  鐺鐺鐺~~~之前有寫過一個navagator路由的博客,今天就分享一下關於數據緩存的把

  1.uni.setStorage(OBJECT) 與 uni.getStorage(OBJECT)    這兩個是異步緩存,簡單說就是將數據放到本地緩存指定的key中,一個存一個取罷了

    uni.setStorage(OBJECT) :將數據緩存在本地緩存中指定的key中,會覆蓋掉原來該key中的內容,這是一個異步接口。(

        參數名      類型         是否必填    說明

        key        String        是        本地緩存中的指定的 key

        data       Object/String   是        需要存儲的內容

        success     Function       否       接口調用成功的回調函數

        fail       Function       否       接口調用失敗的回調函數

        complete    Function      否        接口調用結束的回調函數(調用成功、失敗都會執行)

     )

    uni.getStorage(OBJECT) : 從本地緩存中異步獲取指定key對應的內容(

                  參數名       類型       是否必填     說明

          key          String      是         本地緩存中的指定的key

          success       Function     是         接口調用的回調函數res = {data: key對應的內容}

          fail         Function     否         接口調用失敗的回調函數

          complete       Function     否         接口調用結束的回調函數(調用成功、失敗都會執行)

    )

     那個例子跟大伙說一下,最近公司做項目,涉及到了一個存放地址的, 將地址的信息緩存到本地指定的URL 這個key中 進行存數據與取數據的操作,廢話不多說,上代碼~~

//這是我定義的url    
let url = `/pages/newHouse/NewHouseDetail?id=${id}`

//URL具體數據
console.log(url)      //  /pages/newHouse/NewHouseDetail?id=43

 下一步進行將數據緩存在本地 

//這是我設置的緩存信息    將url數據緩存到本地
uni.setStorage({
	key: 'url_key',             ------ key的名稱是 url  
	data: url,                 ------ data中存放的是我的url地址
	success: function () {          ------ 成功之后的回調函數   uni.navigateTo我要跳轉的頁面

          console.log(1111) ------ 緩存成功 打印1111並且跳轉頁面 // 存儲成功后跳轉房源詳情頁 uni.navigateTo({ url }) } })

 下一步讀取緩存在本地數據

uni.getStorage({
	key: 'url_key',
	success: function (res) {
		console.log('這是獲取key中的內容',res)	
	}
})                         //這是獲取key中的內容 {data: "/pages/newHouse/NewHouseDetail?id=41", errMsg: "getStorage:ok"}

  綠色標記為我在本地緩存中獲取到的數據,res.data 就是我們需要的url地址了,如果需要直接獲取就可以了,這一步驟就給大家展示了uni.setStorage(OBJECT) 與 uni.getStorage(OBJECT)  整體過程

2.uni.setStorageStnc(KEY,DATA) 與 uni.getStorage(KEY)    其實這個跟第一個基本上是沒有區別的,只不過是一個異步一個同步罷了,參數說明及寫法展示給大家

  uni.setStorageStnc(KEY,DATA)     將data存儲在本地緩存中個指定的key中,會覆蓋相同key中對應的內容,這是一個同步接口 

        參數名      類型         是否必填    說明

        key        String        是        本地緩存中的指定的 key

        data       Any         是        需要存儲的內容,只支持原生類型、及能夠通過 JSON.stringify 序列化的對象

    還是以地址url為例,以上個例子為基礎來說  

     uni.setStorageSync('url_key', 'url');     將我的url信息存放到 url_key 中

   uni.getStorageStnc(KEY)     從本地緩存中同步獲取指定 key 對應的內容。

        參數名      類型         是否必填    說明

        key        String        是        本地緩存中的指定的 key

    獲取同步的緩存key中地址信息         

    const value = uni.getStorageSync('url_key');    //將我從key中獲取的信息賦值給value

3.uni.removeStorage(OBJECT) 與 uni.removeStorageSync(KEY)   這兩個都是從本地緩存中移除指定的key   與上面的也是一樣樣樣的~~~   前面是異步的后面是同步的     異步為例~~~~

uni.getStorage({
	key:'url',
	success:function(res){
		console.log(res)                    ------打印異步中獲取的信息
		uni.removeStorage({
			key:'url',
			success:function() {
				console.log(' 移除成功')      -----獲取成功后移除key 中的內容
		        }
		})
	}
})        

      這是我打印出來的數據   通過了一個點擊事件,這是顯示我移除成功了,然后的~~~~等等等  等你在點擊的時候會發現他並不打印了   也許你會因此疑惑  那是因為我已經將這個key所對應的數據移除了呀,所以當然是什么都不打印的啦~~~

4.uni.clearStorage() 與 uni.clearStorageSync()   這兩個都是清理本地數據的緩存    當然啦  還是一個異步一個同步的    這個跟上一個其實是一樣的   就是說這個吧 emmmmm   清除了你所有的本地數據   上一個只是清除了你本地指定key中的內容

        寫法就是直接emmmm 寫!!!    uni.clearStorage()和uni.clearStorageSync()     哈哈哈哈哈

我要是呢,寫的不好,寫的不足,還希望大家指出,相信我,我會改正的 !!嗯嗯嗯嗯嗯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM