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


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 相关文章推荐
jQuery 注意事项 与原因分析
Apr 24 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
JavaScript实现强制重定向至HTTPS页面
Jun 10 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
Jun 25 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
Mar 01 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
vue实现多个元素或多个组件之间动画效果
Sep 25 Javascript
vue 设置 input 为不可以编辑的实现方法
Sep 19 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 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 smarty 二级分类代码和模版循环例子
2011/06/16 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
laravel自定义分页效果
2017/07/23 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
vue实现购物车的监听
2020/04/20 Javascript
js实现简单的倒计时
2021/01/28 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
机关班子查摆问题及整改措施
2014/10/28 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers