视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Vue使用localStorage存储数据的方法
2020-11-27 21:56:04 责编:小OO
文档

本文实例为大家分享了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保存的数据

下载本文
显示全文
专题