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


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 相关文章推荐
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
js判断元素是否隐藏的方法
Jun 09 Javascript
js实现拖拽效果
Feb 12 Javascript
jquery模拟alert的弹窗插件
Jul 31 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
深入剖析JavaScript:Object类型
May 10 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
Oct 27 Javascript
cdn模式下vue的基本用法详解
Oct 07 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
javascript关于“时间”的一次探索
Jul 24 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
OpenLayers实现图层切换控件
Sep 25 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
一个比较简单的PHP 分页分组类
2009/12/10 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
js切换光标示例代码
2013/10/10 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
python实现日志按天分割
2019/07/22 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
python中selenium库的基本使用详解
2020/07/31 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
电子商务专业学生的学习自我评价
2013/10/27 职场文书
现实表现材料范文
2014/12/23 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技