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


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 相关文章推荐
angular.element方法汇总
Jan 07 Javascript
jQuery验证元素是否为空的两种常用方法
Mar 17 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
微信小程序与php 实现微信支付的简单实例
Jun 23 Javascript
vue父子组件的嵌套的示例代码
Sep 08 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
Apr 22 Javascript
微信小程序实现多选框功能的实例代码
Jun 24 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
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
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
jquery实现加载等待效果示例
2013/09/25 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
Python生成随机密码
2015/03/10 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
python zip()函数的使用示例
2020/09/23 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
战友聚会邀请函
2014/01/18 职场文书
手机促销活动方案
2014/02/05 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
经济类毕业生求职信
2014/06/26 职场文书
平遥古城导游词
2015/02/03 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
多属性、多分类MySQL模式设计
2021/04/05 MySQL
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Golang获取List列表元素的四种方式
2022/04/20 Golang