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


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 相关文章推荐
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 Javascript
js显示时间 js显示最后修改时间
Jan 02 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
javascript原型模式用法实例详解
Jun 04 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 Javascript
jQuery each函数源码分析
May 25 Javascript
浅谈jquery高级方法描述与应用
Oct 04 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 Javascript
js判断两个数组相等的5种方法
May 06 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
咖啡语言
2021/03/03 咖啡文化
第十三节 对象串行化 [13]
2006/10/09 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
详解Python pygame安装过程笔记
2017/06/05 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
python多线程并发及测试框架案例
2019/10/15 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
通过cmd进入python的步骤
2020/06/16 Python
python 实现图片批量压缩的示例
2020/12/18 Python
Python用户自定义异常的实现
2020/12/25 Python
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
培训演讲稿范文
2014/01/12 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
浅谈Python中对象是如何被调用的
2022/04/06 Python
python解析json数据
2022/04/29 Python