本地存储 使用localStorage 存储数据

新建项目(不知道怎么新建项目?参考文章:vue-cli3 搭建vue项目

目录结构

界面显示

添加store.js

export default {
  fetch: (key) => JSON.parse(window.localStorage.getItem(key)),
  save: (data, key) => window.localStorage.setItem(key, JSON.stringify(data)),
};

将两个操作localStorage的函数export出去。
需要在使用的时候import进来。

App.vue代码编写

html

<template>
	<div id="app">
		<div class="wrap">
			<input type="text" v-model="keyword" @keydown.enter="addData" />
			<ul v-if="list.length">
				<li
					v-for="(item, index) in list"
					:key="index"
					@click="changeState(index)"
					:class="{complete: item.state}"
				>{{ item.txt }}</li>
			</ul>
		</div>
	</div>
</template>

script

import store from "./common/store"; // 引入store模块

const STORAGE_KEY = "my-key";

export default {
	name: "app",
	data() {
		return {
			keyword: "",
			list: store.fetch(STORAGE_KEY) ? store.fetch(STORAGE_KEY) : [], // 从本地存储中获取数据
		};
	},
	components: {},
	mounted() {},
	methods: {
		// 添加数据
		addData() {
			this.list.push({
				txt: this.keyword,
				state: false,
			});
			this.keyword = "";
		},
		// 点击后改变状态
		changeState(index) {
			this.list[index].state = !this.list[index].state;
		},
	},
	watch: {
		// 这里监听整个list数据的变化,避免每次修改数据的时候都需要进行本地存储
		list: {
			handler() {
				store.save(this.list, STORAGE_KEY); // 写入本地存储
			},
			deep: true, // 切换为false之后,点击切换状态,刷新看效果,未触发watch。
		},
	},
};

css

*{margin: 0;padding: 0;}
.wrap {width: 80%;margin: 0 auto;}
input {height: 30px;width: 100%;}
li {
	height: 30px;
	line-height: 30px;
	background: #e2e2e2;
	margin: 4px 0;
	cursor: pointer;
	list-style-type: none;
	padding: 0 10px;
}
li.complete {background: #5cce5c;color: #fff;}

原文地址:https://www.cnblogs.com/huipinpuzi/p/12168160.html

时间: 2024-08-27 13:59:35

本地存储 使用localStorage 存储数据的相关文章

h5的本地存储——sessionStorage,localStorage

HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,localStorage和sessionStorage都是本地存储. Cookie会在每次发送HTTP请求时附加到Cookie头字段,服务器以此得知用户所处的状态. Web Storage的概念和cookie相似,

(转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage

原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage .sessionStorage.globalStorage   Posted on 2012-03-25 11:23 祥叔 阅读(2) 评论(0)  编辑 收藏 HTML5 提供了四种在客户端存储数据的新方法,即 localStorage .sessionStorage.globalStorage

js本地存储解决方案(localStorage与userData)

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage,以及Flash的本地存储,除了Flash之外,其他的几个都有一些兼容性的问题. sessionStorage与localStorage Web Storage实际上由两部分组成:sessionStorage与localStorage. ses

html5本地存储(localStorage)使用介绍

1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(application cache) indexedDB 和 webSQL 2.localStorage && sessionStorage 过期时间:localStorage 永久存储,永不失效除非手动删除 sessionStorage 浏览器重新打开后就消失了 大小:每个域名是5M 3.localStorage API和sessionStorage API一致

localStorage存储数组或者对象的问题总结

在做  保存选中的复选框记录(跳转到下个页面返回时希望原先选中的东西还在)时, 用到了localStorage存储数据. 由于复选框的内容有点多,就在localStorage中存入了对象(因为考虑到复选框有可能会多选,长度不一定,没有用二维数组). //首先先声明了存储复选框的对象checkarr var checkarr={}; //将数据存入checkarr中 function storeCheckarr(checkname){ //每列复选框都是一条数组:checkname:[] chec

使用HTML5 Web存储的localStorage和sessionStorage方式

localStorage(本地存储),可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用.sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同意可以使用,关闭浏览器之后数据就会消失. HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存.我们这里以 localStora

本地存储-localStroage/sessionStorage存储

客户端存储 l  WEB存储 web存储最初作为html5的一部分被定义成API形式,但是后来被剥离出来作为独立的一份标准.该标准目前还在草案阶段,但其中一部分内容已经被包括IE8在内的所有主流浏览器实现了.Web存储标准所描述的API包含localStorage对象和sessionStorage对象,这两个对象实际上是持久化关联数组,是名值对的映射表.名值都是字符串. l  cookie 是一种早期的客户端存储机制,起初是针对服务器端脚本使用的.尽管在客户端提供了非常繁琐的js api来操作c

【转】本地存储-localStroage/sessionStorage存储

原文地址:[js学习笔记-103]----本地存储-localStroage/sessionStorage存储 客户端存储 l  WEB存储 web存储最初作为html5的一部分被定义成API形式,但是后来被剥离出来作为独立的一份标准.该标准目前还在草案阶段,但其中一部分内容已经被包括IE8在内的所有主流浏览器实现了.Web存储标准所描述的API包含localStorage对象和sessionStorage对象,这两个对象实际上是持久化关联数组,是名值对的映射表.名值都是字符串. l  cook

AngularJS进阶(二十九)AngularJS项目开发技巧之localStorage存储

AngularJS项目开发技巧之localStorage存储 绪 项目开发完毕,测试阶段发现后台管理端二维码生成有问题,问题在于localStorage的存储.如下图左所示,二维码生成完毕包含信息如下图左所示,实际二维码信息如下图右所示: 经过测试发现二维码实际存储的是上一次的结果.好熟悉~Bingo,自己做导航栏高亮时就遇到过这个问题,当时就是使用的localStorage.问题还是出在localStorage身上.但是存储时:localStorage.setItem(key,value),如