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 相关文章推荐
javascript css float属性的特殊写法
Nov 13 Javascript
Javascript 命名空间模式
Nov 01 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
javascript文本模板用法实例
Jul 31 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
浅析微信扫码登录原理(小结)
Oct 29 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
了解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实现将数组转换为XML的方法
2015/03/09 PHP
深入浅出php socket编程
2015/05/13 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP可变变量学习小结
2015/11/29 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
JSONP跨域请求
2017/03/02 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
简单了解django文件下载方式
2020/02/10 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
UNIX文件系统分类
2014/11/11 面试题
美术指导助理求职信
2014/04/20 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
综治目标管理责任书
2015/05/11 职场文书
2015大学迎新标语
2015/07/16 职场文书
创业计划书之甜品店
2019/09/18 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL