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 相关文章推荐
FireFox中textNode分片的问题
Apr 10 Javascript
JavaScript面象对象设计
Apr 28 Javascript
JavaScript的9个陷阱及评点分析
May 16 Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 Javascript
JavaScript window.document的属性、方法和事件小结
Oct 24 Javascript
模拟电子签章盖章效果的jQuery插件源码
Jun 24 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
js数组与字符串的相互转换方法
Jul 09 Javascript
C#中使用迭代器处理等待任务
Jul 13 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
Sep 21 Javascript
前端插件之Bootstrap Dual Listbox使用教程
Jul 23 Javascript
js Proxy的原理详解
May 25 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
PHP开发负载均衡指南
2010/07/17 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
浅析php原型模式
2014/11/25 PHP
php绘制圆形的方法
2015/01/24 PHP
php简单复制文件的方法
2016/05/09 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
python爬取m3u8连接的视频
2018/02/28 Python
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
女子职高个人自荐书
2014/02/01 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
四群教育工作实施方案
2014/03/26 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
女方离婚起诉书
2015/05/18 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
httpclient调用远程接口的方法
2022/08/14 Java/Android
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS