uniapp中的本地存储
时间: 2023-12-09 10:05:13 浏览: 56
在 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是一个跨平台的开发框架,可以用于同时开发iOS、Android和Web应用程序。在UniApp中,可以使用uni-app提供的API来监听本地存储的变化。
UniApp提供了uni.getStorage、uni.setStorage和uni.removeStorage等API来进行本地存储的操作。如果你想要监听本地存储的变化,可以使用uni.setStorageSync方法来设置本地存储,并在需要监听的地方使用uni.onStorageSync方法来监听存储的变化。
下面是一个示例代码:
```javascript
// 设置本地存储
uni.setStorageSync('key', 'value');
// 监听本地存储的变化
uni.onStorageSync('key', function(value) {
console.log('本地存储的值发生了变化:', value);
});
```
在上面的代码中,我们首先使用uni.setStorageSync方法设置了一个本地存储,然后使用uni.onStorageSync方法来监听该存储的变化。当该存储的值发生变化时,回调函数会被触发,并打印出新的值。
需要注意的是,uni.onStorageSync方法只能监听通过uni.setStorageSync方法设置的本地存储的变化,无法监听通过其他方式设置的本地存储。
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();
}
```