详解小程序设置缓存并且不覆盖原有数据详解小程序设置缓存并且不覆盖原有数据
主要介绍了小程序设置缓存并且不覆盖原有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作
具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
最近在写小程序的小项目,因为是刚上手小程序,这途中遇到了许多问题,所幸在自己的坚持不懈下基本都得到了解决,今天
就记录一下怎么设置缓存数据并且不覆盖吧,如果有错误的地方麻烦大家指正,互相学习一下!
这是官方的关于缓存的说明,它会覆盖掉之前的内容。我还是直接上源码吧
这是writecomment.js文件
Page({
/**
* 页面的初始数据
*/
data: {
},
submit: function (event) {
var writecomment = event.detail.value.writecomment;
console.log(event);
var pages = getCurrentPages();
/***得到页面有两个,一个是总页面,一个是写的页面,我们需要的是总页面 */
var page = pages[2];
var commentlist = page.data.commentlist;
//commentlist是另一个页面设置的数组,这里是取得那个页面定义的commentlist
/***获取总页面data里面的数组 */
if (event.detail.value.writecomment != '') {
commentlist.push(writecomment); /***把新的内容放入数组中去,然后更新 */
page.setData({
commentlist: commentlist,
})
}
//这是缓存设置
wx.setStorage({
key: 'commentStorage',//key的值只是一个名称,可以自己设置
data: commentlist,
//data指的是我们要放入缓存的数值,如果是固定的数据要用“”括起来,如果是变量就直接放变量的值
})
console.log(commentlist);//这是为了更好观察我自己设置的输出语句,可以不用管
wx.navigateBack({}) /***点击完成后跳转回到上一个页面 */
},
onLoad: function (options) {
},
})
接下来是writecomment.wxml文件的代码
<!--pages/comment/writecomment/writecomment.wxml-->
<view class='write-group'>
<form bindsubmit='submit'>
<!-- 文本输入框 -->
<view class='textarea-position'>
<textarea name='writecomment' placeholder='请输入内容!' maxlength='-1' auto-height="true">
</textarea>
</view>
<!-- maxlength='-1'不限制输入字符长度,auto-height="true"输入框可以自动变化大小 -->
<view class='btn-position'>
<button type='primary' form-type='submit'>完成</button>
</view>
</form>
</view>
还有样式文件也一起放上来吧
//这是对应的样式文件
/* pages/comment/writecomment/writecomment.wxss */
/* 最外层样式 */
.write-group{
width: 100%;
height: 1254rpx;
}
/* 输入框层样式 */