微信小程序开发(未完待续)

1.生命周期

  • 生命周期如下图:
    微信小程序开发(未完待续)_第1张图片
    -事例代码:
 onLaunch: function () {
    console.log('index---------onLaunch()')
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  onLoad: function () {
    console.log('index---------onLoad()')
    var that = this;
    that.showLoading();
    // 保存位置
    that.saveLocation();
    wx.getLocation({
      type: 'gcj02', //返回可以用于wx.openLocation的经纬度
      success: function (res) {
        console.log("定位成功")
        wx.hideLoading()
        that.setData({
          hasLocation: true,
          longitude: res.longitude,
          latitude: res.latitude,
          scale: 40
        })
        wx.openLocation({
          latitude: latitude,
          longitude: longitude,
          scale: scale
        })

      },
      fail: function (e) {
        console.log("定位失败")
        wx.hideLoading()
      },
    })
  },
  // 弹出第一次加载对话框
  showLoading: function () {
    wx.showLoading({
      title: '定位中',
      mask: true,
    })
    setTimeout(function () {
      wx.hideLoading()
    }, 3000)
  },
  // 保存上一次的位置,第二次直接进入
  saveLocation: function () {
    var that = this;
    console.log("进入缓存");
    console.log(that.data.latitude + "," + that.data.longitude);
    try {
      wx.setStorageSync('lat', that.data.latitude);
      wx.setStorageSync('lon', that.data.longitude);
    } catch (e) {
    }
  },
  onShow: function () {
    console.log('index---------onShow()')
  },
  /**
   * 监听页面渲染完成
   *    完成之后不会在执行
   */
  onReady: function () {
    console.log('index---------onReaday()');
  },
  /**
   * 监听页面隐藏
   *    当前页面调到另一个页面时会执行
   */
  onHide: function () {
    console.log('index---------onHide()')
  },
  /**
   * 当页面销毁时调用
   */
  onUnload: function () {
    console.log('index---------onUnload')
  }

你可能感兴趣的:(微信小程序,微信开发)