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


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使用淘宝接口跨域查询手机号码归属地实例
Nov 28 Javascript
iScroll.js 使用方法参考
May 16 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
20行JS代码实现网页刮刮乐效果
Jun 23 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
Nov 12 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
package.json配置文件构成详解
Aug 27 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
微信小程序国际化探索实现(附源码地址)
May 20 Javascript
elementui的el-popover修改样式不生效的解决
Jun 30 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
初探PHP5
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
使用EduBlock轻松学习Python编程
2018/10/08 Python
pyshp创建shp点文件的方法
2018/12/31 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
Python3几个常见问题的处理方法
2019/02/26 Python
python exit出错原因整理
2020/08/31 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
工地门卫岗位职责范本
2014/07/01 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
运动会广播稿200字
2014/10/18 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
vue实力踩坑之push当前页无效
2022/04/10 Vue.js