微信小程序组件初始化的生命周期lifetimes和pageLifetimes的区别

lifetimes

  lifetimes: {
    attached: function () {
      try {
       // 需要在初始化的时候做的操作
      } catch (e) {
      }
      console.log('lifetimes执行了qqq')
      // 在组件实例进入页面节点树时执行
    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行
    },
  },

这个是在组件完全初始化完毕、进入页面节点树后, attached 生命周期被触发。存在初始化的值的话再这里赋值,打开扫码或不会刷新当前组件

pageLifetimes

pageLifetimes: {
    show: function() {
      // 页面被展示  初始化数据的时候操作
      console.log('pageLifetimes执行了qqq')
    },
    hide: function() {
      // 页面被隐藏
    },
    resize: function(size) {
      // 页面尺寸变化
    }
  },

组件所在的页面被展示时执行,初始化数据放在show内的时候 如果打开扫码扫完之后show又会被执行

初始化的时候的打印
微信小程序组件初始化的生命周期lifetimes和pageLifetimes的区别_第1张图片
点击了扫码之后关闭扫码弹框的打印
pageLifetimes的show被再次触发了
微信小程序组件初始化的生命周期lifetimes和pageLifetimes的区别_第2张图片

你可能感兴趣的:(小程序)