zoukankan      html  css  js  c++  java
  • 第四次尝试

    今儿对于数据的存储思考了会儿,最后决定

    保存数据到本地存储

    在item.js文件中创建save方法并与视图绑定

    // item.js
    Page({
      data: {
        title: '',
        cate:'',
        account: '',
        modalHidden: true
      },
    //   标题文本框
      bindTitleInput: function(e) {
          this.setData( {
              title: e.detail.value
          })
        // console.log(e.detail.value)
      },
    //   金额radio
      radioChange: function(e) {
          this.setData({
              cate: e.detail.value
          })
        // console.log(e.detail.value)
      },
    //   金额文本框  
      bindAccountInput: function(e) {
          this.setData( {
              account: e.detail.value
          })
        // console.log(e.detail.value)
      },
      save: function() {
        var that = this
        // 本条数据打包成json
        var record = {
          title: this.data.title,
          cate: this.data.cate,
          account: this.data.account,
        }
        var data = []
    
        wx.getStorage({
          key: 'db',
          success: function(res) {
            console.log('db:' + res.data)
            data = res.data
            // 取出本地数据
            data.push(record)
            // 存回本地
            wx.setStorage({
              key: 'db',
              data: data
            })
            
            // 提示框
            that.setData({
              modalHidden: false
            });
          }
        })
      },
      // 使用onShow而不使用onLoad,使得添加返回后自刷新
      onShow: function() {
        wx.getStorage({
          key: 'db',
          // 初始加载无数据,故插入一条空数组的新key
          fail: function() {
                    // 存回本地
            wx.setStorage({
              key: 'db',
              data: []
            })
          }
        })
      },
    
      // 关闭对话框
      hideAlertView: function() {
        this.setData({
          'modalHidden': true
        })
        // 返回上一页
        wx.navigateBack()
      }
    
    })
    

    值得注意的是:setStorage是包在getStorage方法回调事件里,保证线程一致性,即使使用了Sync方式的方法,依次不能保证数据同步,经多次实践发现getStorage方法是最后被调的,于是就无法取出原来的数据,也就不能追加本条数据了。

    与视图绑定添加按钮的点击事件与弹窗的点击事件

    <button class="button" type="primary" bindtap="save">添加</button>
    <modal class="modal" hidden="{{modalHidden}}" no-cancel bindconfirm="hideAlertView">
      <view>添加成功</view>
    </modal>
    是多疑还是去相信 谎言背后的忠心 或许是自己太执迷 命题游戏 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 黑夜和白昼 你争我夺 真相被蛊惑 心从不退缩 这天堂荒漠 留给孤独的猎手
  • 相关阅读:
    关于连通性问题的Tarjan算法暂结
    【BZOJ 3925】[Zjoi2015]地震后的幻想乡 期望概率dp+状态压缩+图论知识+组合数学
    Kruskal算法及其类似原理的应用——【BZOJ 3654】tree&&【BZOJ 3624】[Apio2008]免费道路
    【NOIP模拟赛】Drink 二维链表+模拟
    【BZOJ 2957】楼房重建&&Codechef COT5 Count on a Treap&&【NOIP模拟赛】Weed 线段树的分治维护
    【BZOJ 4198】[Noi2015]荷马史诗 哈夫曼编码
    【NOIP模拟赛】chess 建图+spfa统计方案数
    【TMD模拟赛】上低音号 链表
    【TMD模拟赛】黄金拼图 Cao
    【BZOJ 4007】[JLOI2015]战争调度 DP+搜索+状压
  • 原文地址:https://www.cnblogs.com/muailiulan/p/10420681.html
Copyright © 2011-2022 走看看