uniapp中的本地存储
时间: 2023-12-09 17:05:13 浏览: 129
在 UniApp 中,可以使用本地存储来保存和读取数据。UniApp 提供了一些方法来处理本地存储,常用的有:
1. uni.setStorage(key, data):设置本地存储数据,key 是键名,data 是要存储的数据。
2. uni.getStorage(key):获取本地存储的数据,key 是要获取的数据的键名。
3. uni.removeStorage(key):移除本地存储中指定的数据,key 是要移除的数据的键名。
4. uni.clearStorage():清空本地存储中的所有数据。
这些方法可以在任何页面和组件中使用。示例如下:
```javascript
// 设置本地存储数据
uni.setStorage('username', 'John');
// 获取本地存储数据
uni.getStorage('username').then(res => {
console.log(res.data); // 输出 'John'
});
// 移除本地存储数据
uni.removeStorage('username');
// 清空本地存储
uni.clearStorage();
```
需要注意的是,uni.setStorage 和 uni.removeStorage 方法是异步的,返回一个 Promise 对象。在获取本地存储数据时,可以使用 then 方法来获取数据。
相关问题
uniapp的本地存储
在UniApp中,可以使用uni-app提供的本地存储API进行数据的读写操作。具体来说,UniApp提供了uni.setStorageSync和uni.getStorageSync这两个方法来进行缓存数据的设置和获取。
简单使用示例如下:
// 设置缓存数据
uni.setStorageSync('ceshi', true)
// 获取缓存数据
uni.getStorageSync('ceshi')
这样就可以将数据保存在本地缓存中,并在需要的时候获取它。
需要注意的是,使用本地存储保存数据时需要注意数据类型,要保证数据能够被正确序列化和反序列化。对于较大的数据,建议采用异步存储方式,以免阻塞主线程导致界面卡顿。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [uniapp本地存储(uni.setStorageSync和uni.setStorage)](https://blog.csdn.net/m0_64590669/article/details/130358791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
uniapp删除本地存储
uniapp删除本地存储可以通过调用`uni.removeStorageSync(key)`方法来实现。在utils.js文件中,定义了一个名为`removeSum`的方法,该方法用于清除本地存储。在该方法中,可以通过调用`uni.removeStorageSync(key)`方法来删除指定的存储键。首先,获取当前已存储的所有键值对,然后根据需要保留的键值对列表和待删除的键值对列表,筛选出需要删除的键值对并进行删除。最后,重置存储的键值对。如果没有传入需要保留的键值对列表,则会清除所有的本地存储。
示例代码如下:
```
// 清除本地存储
function removeSum(){
let NO_Sum = ["secret_code2SessionId","secret_personId","secret_personName"]; // 需要保留的存储的键
let secret_arrSum = uni.getStorageSync('secret_arrSum') || ''; // 当前已存储的键值对
if(secret_arrSum){
let remove_Sum = secret_arrSum.filter(item => !NO_Sum.includes(item)); // 需要删除的键值对
if(remove_Sum.length > 0){
remove_Sum.forEach(key => {
uni.removeStorageSync(key); // 删除本地存储对应的键值对
});
uni.setStorageSync('secret_arrSum', NO_Sum); // 重置存储的键值对
}
}else{
uni.clearStorageSync(); // 删除本地所有存储
}
}
module.exports = {
removeSum
}
```
在需要清除存储的页面,可以引入`removeSum`方法,并在`onShow`方法中调用`removeSum()`来清除残留缓存。
示例代码如下:
```
import { removeSum } from '@/utils/utils.js'; // 引入方法
onShow() {
// 清除残留缓存
removeSum();
}
```
阅读全文