vue设置sessionStorage有效时间为十分钟
时间: 2024-08-07 15:00:55 浏览: 29
在Vue.js中,如果你想将数据存储在浏览器的sessionStorage,并让它在10分钟内过期,你可以这样做:
首先,创建一个名为setSessionData的方法,它接受两个参数:键名(key)和值(value),以及一个可选的时间戳expireTime(这里我们设定为10分钟后的毫秒数):
```javascript
export default {
data() {
return {};
},
methods: {
setSessionData(key, value, expireTime = Date.now() + (10 * 60 * 1000)) { // 10 minutes in milliseconds
sessionStorage.setItem(key, JSON.stringify(value));
const timeoutId = setTimeout(() => {
this.clearSessionData(key);
}, expireTime - Date.now());
return { key, value, timeoutId };
},
clearSessionData(key) {
if (sessionStorage.getItem(key)) {
sessionStorage.removeItem(key);
}
},
},
};
```
在这个例子中,`setSessionData`方法设置了数据并设置了一个定时器,在给定时间内如果未被其他操作清除,数据将自动删除。
然后在需要的地方调用这个方法:
```javascript
this.setSessionData('myData', 'someValue');
```
当超过10分钟后,如果没有其他事件刷新数据,`clearSessionData`会被触发,清除存储的数据。