Vue使用localStorage存储数据的方法
作者:北海之灵 发布时间:2024-04-30 10:23:47
标签:vue,localStorage,存储数据
本文实例为大家分享了Vue使用localStorage存储数据的具体代码,供大家参考,具体内容如下
通过下面这个案例来了解localStorage的基本使用方法。
输入评论人、评论内容,点击发表评论,评论数据将保存到localStorage中,并刷新评论列表。
1.先组织出一个最新评论数据对象
var comment = {id:Date.now(), user:this.user, content:this.content}
2. 把得到的评论对象,保存到localStorage中
1.localStorage只支持存字符串数据,保存先调用JSON.stringify转为字符串
2.在保存最新的评论数据之前,要先从localStorage获取到之前的评论数据(string)转换为一个数组对象,然后把最新的评论,push到这个数组
3.如果获取到的localStorage中的评论字符串为空,不存在,则可以返回一个'[]'让JSON.parse去转换
4.把最新的评论列表数组,再次调用JOSN.stringify转为数组字符串,然后调用localStorage.setItem()保存
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css" rel="external nofollow" >
</head>
<body>
<div id='app'>
<cmt-box @func="loadComments"></cmt-box>
<ul class="list-group">
<li class="list-group-item" v-for="item in list" :key="item.id">
<span class="badge">评论人:{{item.user}}</span>
{{item.content}}
</li>
</ul>
</div>
<template id="tmp1">
<div>
<div class="form-group">
<label>评论人:</label>
<input type="text" v-model="user" class="form-control">
</div>
<div class="form-group">
<label>评论内容:</label>
<textarea class="form-control" v-model="content"></textarea>
</div>
<div class="form-group">
<input type="button" value="发表评论" class="btn btn-primary" @click="postComment">
</div>
</div>
</template>
</body>
<script src="../lib/vue.js"></script>
<script>
var conmmentBox={
template:'#tmp1',
data(){
return{
user:'',
content:''
}
},
methods:{
postComment(){
//1.评论数据存到哪里去,存放到了localStorage中
//2.先组织出一个最新评论数据对象
//3.想办法,把第二步得到的评论对象,保持到localStorage中】
// 3.1 localStorage只支持存字符串数据,先调用JSON.stringify
// 3.2 在保存最新的评论数据之前,要先从localStorage获取到之前的评论数据(string)转换为一个数组对象,然后把最新的评论,push到这个数组
// 3.3 如果获取到的localStorage中的评论字符串为空,不存在,则可以返回一个'[]'让JSON.parse去转换
// 3.4 把最新的评论列表数组,再次调用JOSN.stringify转为数组字符串,然后调用localStorage.setItem()
var comment = {id:Date.now(), user:this.user, content:this.content}
//从localStorage中获取所用的评论
var list = JSON.parse(localStorage.getItem("cmts") || '[]')
list.unshift(comment)
//重新保存最新的评论数据
localStorage.setItem('cmts',JSON.stringify(list))
this.user = this.content = ''
this.$emit('func')
}
}
}
var vm = new Vue({
el:'#app',
data:{
list:[]
},
methods:{
//从本地的localStorage中,加载评论列表
loadComments(){
var list = JSON.parse(localStorage.getItem("cmts") || '[]')
this.list = list
}
},
created(){
this.loadComments()
},
components:{
'cmt-box':conmmentBox
}
})
</script>
</html>
可以打开开发者模式查看localStorage保存的数据
来源:https://blog.csdn.net/xukongjing1/article/details/82964482


猜你喜欢
- 功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件pip install pandasimport pandas
- 一、算法简要我们希望有这么一种函数:接受输入然后预测出类别,这样用于分类。这里,用到了数学中的sigmoid函数,sigmoid函数的具体表
- 图片上传在项目中经常用到,几乎没有任何一个项目可以脱离图片或者是文件上传。本篇我在这向大家介绍两种常规的上传方式。(注:在这里我们仅仅是对功
- 对其中的参数进行解释plt.subplots(figsize=(9, 9))设置画面大小,会使得整个画面等比例放大的sns.heapmap(
- 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
- 对想要在可视化的环境下制作复杂网页的专业网页制作者来说,Dreamweaver 已经渐渐在网页编辑工具市场中展露头角,成为专业人士
- 前言相信大家初入某个项目,一般都要看代码。有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开、打印,确实太耗费精
- functools模块是Python的标准库的一部分,它是为高阶函数而实现的。高阶函数是作用于或返回另一个函数或多个函数的函数。一般来说,对
- 图像显示和打印面临的一个问题是:图像的亮度和对比度能否充分突出关键部分。这里所指的“关键部分”在 CT 里的例子有软组织、骨头、脑组织、肺、
- 静态方法不需要所在类被实例化就可以直接使用。静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。静态方法和静
- 导入实验常用的python包。如图2所示。【import pandas as pd】pandas用来做数据处理。【import numpy
- 前言这次,我们要用Pygame写一个Pong游戏先看看效果:需要的模块:Pygame在python文件同目录下新建resources文件夹,
- 在开发数据库应用或者调试代码时,经常需要获取系统的当前日期和时间,我们来看一下 PostgreSQL 中提供的相关函数。当前日期CURREN
- 作用域链首先来看看这段代码:var a = '喜羊羊';function A(){ console
- 本文实例讲述了Python操作MySQL简单实现方法。分享给大家供大家参考。具体分析如下:一、安装:安装MySQL安装MySQL不用多说了,
- 求N的阶乘本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个正整数 N。输出格式:在一行中按照“produc
- 本文实例讲述了js正则匹配中文标点符号的方法。分享给大家供大家参考,具体如下:运行效果截图如下:具体代码如下:<html><
- 尽管人们期望在屏幕上有些改变,但是CSS和HTML对页面中的交互能做的实在太少了,而那些还需要用代码来实现。比如一个链接要么是这个颜色,要么
- 简单生成器有许多优点。生成器除了能够用更自然的方法表达一类问题的流程之外,还极大地改善了许多效率不足之处。在 Python 中,
- 一、前言设计应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使