localStorage存储和获取

<!doctype html>
<html>

<head>
	<meta charset="utf-8">
	<title>localStorage</title>
	<!-- 引入样式 -->
	<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>

<body>
	<div id="app">
		<h1 class="container">localStorage</h1>
		<el-select v-model="themeVal" placeholder="请选择" size="mini" style="width: 100px;" @change="changeTheme">
			<el-option v-for="item in themeList" :key="item.value" :label="item.label" :value="item.value"> </el-option>
		</el-select>
	</div>
	<script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script>
	<script src="https://unpkg.com/element-ui/lib/index.js"></script>
	<script>
		//localStorage方法
		let store = {
			save(key, value) {
				localStorage.setItem(key, JSON.stringify(value));
			},
			fetch(key) {
				return JSON.parse(localStorage.getItem(key)) || [];
			}
		}

		let theme = store.fetch('theme'); //从store获取主题

		new Vue({
			el: '#app',
			data: {
				//主题
				themeVal: theme,
				themeList: [{
						value: "light",
						label: "浅色"
					},
					{
						value: "dark",
						label: "深色"
					}
				]
			},
			methods: {
				//修改主题
				changeTheme() {
					store.save('theme', this.themeVal); //保存到store
				}
			}
		});
	</script>
</body>

</html>

 

localStorage 是 Web 浏览器提供的一种本地存储机制,主要用于长期存储用户数据,不会因为浏览器窗口关闭而消失。它是客户端JavaScript可以直接访问的,非常适合存放不需要频繁刷新就保留的状态或配置信息。 以下是使用 localStorage 的基本步骤: 1. **存储数据**: - 使用 `localStorage.setItem(key, value)` 函数存储数据,`key` 是键名,`value` 是需要存储的值,通常是字符串形式。例如: ```javascript localStorage.setItem('username', 'John Doe'); ``` 2. **读取数据**: - 使用 `localStorage.getItem(key)` 函数获取指定键名对应的值,返回的是字符串类型。如果找不到对应键,则返回 `null`: ```javascript var username = localStorage.getItem('username'); // John Doe ``` 3. **检查是否存在**: - 使用 `localStorage.key(index)` 获取特定索引位置的键名,或 `localStorage.length` 检查总共有多少项存储数据: ```javascript if(localStorage.length > 0) { console.log('localStorage is not empty'); } ``` 4. **删除数据**: - 如果想移除某个键值对,可以使用 `localStorage.removeItem(key)`: ```javascript localStorage.removeItem('username'); ``` 5. **清空所有数据**: - 如果需要彻底清除所有存储的数据,可以使用 `localStorage.clear()` 函数: ```javascript localStorage.clear(); ``` 6. **兼容性**: - 注意不是所有的浏览器都支持 localStorage,尤其是旧版本的浏览器可能会有差异。在使用前,最好做一下适配处理。 在前端应用中,我们通常会利用 Vuex 或其他状态管理库结合 localStorage,以实现跨页面的状态管理和持久化功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值