微信小程序(三十二)本地异步储存API

注释很详细,直接上代码

上一篇

新增内容:
1.同步和异步API的使用区别
2.异步API的缺陷

源码:

index.wxml

xml 复制代码
<!-- 列表渲染基础写法,不明白的看上一篇 -->
<view class="students">
    <view class="item">
        <text>下标</text>
        <text>序号</text>
        <text>姓名</text>
        <text>年龄</text>
        <text>性别</text>
    </view>
    
    <view wx:for="{{students}}" wx:key="id" wx:for-item="stu" 
    wx:for-index="idx" class="item">
        <text>{{idx}}</text>
        <text>{{stu.id}}</text>
        <text>{{stu.name}}</text>
        <text>{{stu.age}}</text>
        <text>{{stu.gender}}</text>
    </view>
</view>

<button type="primary" bind:tap="getMsgs" style="margin-top: 40rpx;">获取信息</button>

<view style="margin-top: 20rpx; margin-left: 20rpx;">
    <button type="default" size="mini" bind:tap="saveData">保存数据</button>
</view>

index.wxss

css 复制代码
.item{
    display: flex;
    /* 水平均分 */
    justify-content:space-evenly;
    height: 60rpx;
}       

index.js

js 复制代码
Page({
    data:{
        //存储学生信息的数组
        students:[]
    },
    saveData(){//这里注意格式前面的key是存储的内容的名字,后面的data是需存储的数据的名字
        //异步储存数据的方法(上一篇是最常用的同步的方法,区别就是后缀sync)
        //其实这种方法比较繁琐,一旦嵌套复杂点success的处理和数据的调用维护起来比较麻烦
        //所以能不用则不用,这里的方法了解一下即可,
        //其他的方法也是类似的
        wx.setStorage({
          key:'students',
          data:this.data.students,
          success:()=>{
            wx.showToast({
                icon:'none',
                title: '存储成功'
              })
          }
      })
    }
    ,
    getMsgs(){
        //显示加载框
        wx.showLoading({
          title: 'title',
          mask: true,//加上透明蒙版遮挡,防止在加载时用户继续点击触发事件 
          success: (res) => {},
          fail: (res) => {},
          complete: (res) => {},
        })

       wx.request({//自个在服务器写个php就行了

         url: 'http://wdhlp.szc007.love/SZCAPI/goods.php',
         data:{
             key:'123456'
         },

         success:(res) => {//成功的情况
           
             this.setData({//基础赋值,不明白的看上上上上......一篇

                students:res.data.msg//看清楚是冒号是冒号不是等号
             })

             //showToast和showLoading其实是同一个控件接口
             //如果成功则直接显示对话框,这样会自动覆盖之前的加载框
             wx.showToast({
                 icon:'none',//如果图标不是必要的加上这句,否则会限制显示字数
                 title: '加载成功'
             })

         },

         fail:(res)=>{//如果失败的话则不会覆盖,需要特判关闭一下
            wx.hideLoading({
              noConflict: true,
              success: (res) => {},
              fail: (res) => {},
              complete: (res) => {},
            })
         }
       })
   }
})

效果演示:

相关推荐
00后程序员张1 小时前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
paopaokaka_luck9 小时前
个人综合管理小程序(echarts数据看板、健康数据记录与趋势查看、目标拆解和进度管理、日程待办与番茄钟、习惯打卡、收支统计、个人生活记录、跨模块智能提醒)
前端·javascript·spring·小程序·数据分析·echarts·生活
愚公搬代码9 小时前
【愚公系列】《微信小程序项目实战(AI编程+视频图解)》002-一张新地图:AI创业的核心分析框架
人工智能·微信小程序·ai编程
m0_5873830018 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
ZeroNews内网穿透19 小时前
企业内网穿透别再用随机域名!自有域名实现 OA/ERP 公网安全访问
微信小程序·内网穿透·erp·zeronews·运维实战·企业oa·自有域名
m0_587383001 天前
西安同城拼车软件开发实战指南:从零搭建高效系统
人工智能·小程序·数据挖掘·系统架构·需求分析
weixin_lynhgworld1 天前
抽取类盲盒小程序的五条合规红线意味着什么?
小程序
现任明教教主~1 天前
运营级多门店洗车贴膜汽车在线核销保养服务系统洗车预约洗车系统消费分佣扫码核销系统
微信小程序·小程序·汽车
小小王app小程序开发1 天前
盲盒微信小程序开发实战:架构、核心难点与实现方案
小程序
陪我去看海1 天前
被要求猛出小程序,做了这个多平台多环境的部署替我承受压力
前端·微信小程序·抖音小程序