Vue使用localStorage存储数据的方法


Posted in Javascript onMay 27, 2019

本文实例为大家分享了Vue使用localStorage存储数据的具体代码,供大家参考,具体内容如下

通过下面这个案例来了解localStorage的基本使用方法。

Vue使用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保存的数据

Vue使用localStorage存储数据的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery实现在线选座订座之影院篇
Aug 24 Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 Javascript
JS 日期与时间戮相互转化的简单实例
Jun 22 Javascript
js手动播放图片实现图片轮播效果
Sep 17 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
js实现前端图片上传即时预览功能
Aug 02 Javascript
jQuery中的for循环var与let的区别
Apr 21 jQuery
vue2中使用sass并配置全局的sass样式变量的方法
Sep 04 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
Oct 09 Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
vue项目初始化到登录login页面的示例
Oct 31 Javascript
了解javascript中的Dom操作
May 27 #Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 #Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 #Javascript
深入浅出了解Node.js Streams
May 27 #Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 #Javascript
vue项目前端错误收集之sentry教程详解
May 27 #Javascript
了解javascript中变量及函数的提升
May 27 #Javascript
You might like
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
php实现文件下载更能介绍
2012/11/23 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
深入解析Python中的上下文管理器
2016/06/28 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
公司总经理岗位职责范本
2014/08/15 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
小学体育组工作总结
2015/08/13 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers