微信小程序数据存储与取值详解


Posted in Javascript onJanuary 30, 2018

在小程序开发的过程,经常要需要这个页面输入的数据,在下一个页面中进行取值赋值。

比如:

微信小程序数据存储与取值详解

微信小程序数据存储与取值详解

在A页面input输入框,输入电话号码,点击添加。需要在B页面电话区域中,显示刚刚输入的电话号码。

因为这是两个页面,就需要先存储,再取值。微信小程序提供了数据存储的API,wx.setStorage(OBJECT) 可以将数据存储在本地缓存中指定的 key 中,如果重复会覆盖掉原来该 key 对应的内容。

思路是,在A页面,使用bindinput获取input输入的值,赋值给一个变量(自定义),点击添加按钮时,如果变量不为空,将变量的值存储在本地缓存中,在B页面,使用wx.getStorage(OBJECT) 方法取值;

ps : 源代码在页面底部

代码如下:

微信小程序数据存储与取值详解

对input输入框,绑定事件bindinput="bindKeyInput" ,设置value="{{inputValue}}" ,因为电话号码为数字,设置type="number" 。对按钮添加点击事件bindtap="addbtn"

在JS文件中添加代码

微信小程序数据存储与取值详解

B页面代码

微信小程序数据存储与取值详解

在JS文件中,声明变量addtel。在页面切换过来的时候,取出我们刚存储的值,赋值给变量addtel。在需要显示电话号码的地方,用变量来接收。

在JS文件中添加代码

data:{
  addtel : ''
}

微信小程序数据存储与取值详解

这里在onShow的方法中进行取值,当小程序启动,或从后台进入前台显示,就会触发 onShow。

不过,每个微信小程序都可以有自己的本地缓存,使用这些方法时,要注意本地缓存最大为10MB,wx.setStorage(wx.setStorageSync)wx.getStorage(wx.getStorageSync)可以对本地缓存进行设置、获取和清理。。

也可以使用wx.clearStorage(wx.clearStorageSync)来清理缓存。

代码写完之后,进行测试。

微信小程序数据存储与取值详解

在输入框中输入电话号码,点击添加。

微信小程序数据存储与取值详解

OK,取值成功。

A页面源代码:

<view class="add-page">
  <input placeholder="输入手机号添加客户" type="number" bindinput="bindKeyInput" value="{{inputValue}}" />
   <button type="warn" class="add-btn" bindtap="addbtn" >添加</button>
</view>
var app = getApp()
Page({
 data: {
  inputValue:''
 },
 bindKeyInput:function(e){
  this.setData({
   inputValue: e.detail.value
  })
 },
 addbtn:function(){
   if(this.data.inputValue){
    wx.redirectTo({
     url: '../ordered/ordered'
    })
    wx.setStorage({
     key:"addTel",
     data:this.data.inputValue
    })
   }else{
    wx.showModal({
     title: '手机号为空',
     content: '请输入手机号码',
     success: function(res) {
      if (res.confirm) {
       console.log('用户点击确定')
      }
     }
    })
   }
 },
 onload:function(){
  //onload
 }

})

B页面源代码:

<view class="menu-item">
 <navigator class="menu-item-main" >
   <text class="menu-item-name">电话</text>
   <view class="ordtel">
    <text class="ordtext">{{addtel}}</text>
    <image class="menu-item-icon"  src="/image/tel.png"></image>
   </view>      
 </navigator>
</view>
var app = getApp()
Page({
  data:{
    addtel : ''
  },
  onShow:function(){
  var that = this;
  wx.getStorage({
   key: 'addTel',
   success: function(res) {
     console.log(res.data)
     that.setData({
      addtel:res.data
     })
   } 
  })
 }
})

其他相关资料可以查阅小程序官方API。

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

Javascript 相关文章推荐
javascript this用法小结
Dec 19 Javascript
javascript innerText和innerHtml应用
Jan 28 Javascript
javascript 使td内容不换行不撑开
Nov 29 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
jQuery下拉美化搜索表单效果代码分享
Aug 25 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
Dec 29 Javascript
Vue下拉框回显并默认选中随机问题
Sep 06 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
javascript之分片上传,断点续传的实际项目实现详解
Sep 05 Javascript
用js实现放大镜效果
Oct 28 Javascript
Vue精简版风格概述
Jan 30 #Javascript
vue自定义全局组件(自定义插件)的用法
Jan 30 #Javascript
vue2.0之多页面的开发的示例
Jan 30 #Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 #Javascript
jQuery与vue实现拖动验证码功能
Jan 30 #jQuery
5 种JavaScript编码规范
Jan 30 #Javascript
vue源码入口文件分析(推荐)
Jan 30 #Javascript
You might like
基于mysql的论坛(7)
2006/10/09 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
JS高级笔记
2011/07/13 Javascript
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
Python 中的lambda函数介绍
2018/10/10 Python
python requests post多层字典的方法
2018/12/27 Python
Django app配置多个数据库代码实例
2019/12/17 Python
NumPy统计函数的实现方法
2020/01/21 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Python使用Matlab命令过程解析
2020/06/04 Python
python代码区分大小写吗
2020/06/17 Python
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
电台编导求职信
2014/05/06 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
中秋晚会致辞
2015/07/31 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
卖车协议书范文
2016/03/23 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
浅谈Python魔法方法
2021/06/28 Java/Android
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript