精华内容
下载资源
问答
  • onlaunch生命周期内进行页面的跳转,需要注意:可能会和pages.json内配置的第一个页面跳转时机冲突。 造成的错误是手机端页面白屏,控制台报错: 复制代码11:47:40.766 Mon May 20 2019 11:47:45 GMT+0800 (CST) ...

    在onlaunch生命周期内进行页面的跳转,需要注意:可能会和pages.json内配置的第一个页面跳转时机冲突。
    造成的错误是手机端页面白屏,控制台报错:

    复制代码11:47:40.766 Mon May 20 2019 11:47:45 GMT+0800 (CST) Page route 错误(system error)  
    11:47:40.786 navigateTo with an already exist webviewId 1  
    11:47:40.806 undefined  
    11:47:41.006 Expected updated data but get first rendering data at uniapp://ready:182  
    11:47:41.028 webviewScriptError  
    11:47:41.046 Expected updated data but get first rendering data  
    11:47:41.066 Error: Expected updated data but get first rendering data  
    11:47:41.086 at F (uniapp://ready:182:679403)  
    11:47:41.106 at uniapp://ready:182:681248  
    11:47:41.126 at Array.forEach (native)  
    11:47:41.155 at uniapp://ready:182:681228  
    11:47:41.187 at window.dispatchGenerateFunc (file:///storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/__uniappview.html:40:30)

    此时需要延迟做跳转处理。

    由于性能优化,HBuilderX 1.9.8和HBuilderX1.9.4的执行时机有所不同。一些在HBuilderX 1.9.4下无需延时的代码,在升级到HBuilderX 1.9.8报错。先请延迟处理。

    在HBuilderX 1.9.9+版本,已在底层修复此问题,自动兼容冲突,无需开发者再写延时代码。

    如果使用新版的开发者有类似问题,已经不是这个问题了,请另行开贴详细说明

    展开全文
  • 原文转载自:微信小程序onLaunch、onLoad执行生命周期 1、需求:先执行App的onLaunch添加验证权限等,再执行Page里的onLoad。 2、问题:还没有等onLaunch执行完成,onLoad就已经开始执行了。 3、解决办法:定义回...

    原文转载自:微信小程序onLaunch、onLoad执行生命周期

    1、需求:先执行App的onLaunch添加验证权限等,再执行Page里的onLoad。

    2、问题:还没有等onLaunch执行完成,onLoad就已经开始执行了。

    3、解决办法:定义回调函数。

    4、具体实现:Page页面判断一下当前app.globalData.employld是否有值,如果没有(第一次)定义一个app方法(回调函数),App页面在success后判断有没有page页面定义的回调方法,如果有就执行,因为回调函数是在Page页面内,方法作用域应指向的是Page页面。

      

    app.employIdCallback = employId => {...}。

     

    App.js

    App({
        onLaunch:function(){
            wx.request({
                url: 'test.php', 
                succrss:(res)=>{
                    this.globalData.employId = res.employId;
                    //由于这里是网络请求,可能会在 Page.onLoad 之后才返回
                    // 所以此处加入 callback 以防止这种情况
                    if (this.employIdCallback){
                       this.employIdCallback(employId);
                    }
                }
            })
        },
        globalData: {
            employId: ''
        }
    });    

    index.js

    //获取应用实例
    const app = getApp()
    
    Page({
        data:{},
        onLoad:function(){
            //判断是用户是否执行完了请求,绑定了信息
            if (app.globalData.employId && app.globalData.employId != '') {
            //执行操作
         }else{
          //由于请求是网络请求,可能会在Page.onLoad后才返回
          //所以加入callback 防止这种情况
          app.employIdCallback = employId =>{
            if(employId!=''){
              //执行操作。。
            }
          }
        } 
    })

     

    实现~

    转载于:https://www.cnblogs.com/xinchenhui/p/10606179.html

    展开全文
  • 本来按照事件顺序,小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。 //app.js App({ onLaunch: ...

    本来按照事件顺序,小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。

    //app.js
    App({
      onLaunch: function () {
        console.log('onLaunch');
        wx.request({
          url: 'test.php', //仅为示例,并非真实的接口地址
          data: {
          },
          success: function(res) {
            console.log('onLaunch-request-success');
            // 将employId赋值给全局变量,提供给页面做判断
            this.globalData.employId = res.employId;   
          }
        })
      },
      globalData: {
        employId: ''
      }
    })
    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
      data: {
        albumDisabled: true,
        bindDisabled: false
      },
      onLoad: function () {
        console.log('onLoad');
        console.log('onLoad app.globalData.employId = ' + app.globalData.employId);
        //判断是用户是否绑定了
        if (app.globalData.employId && app.globalData.employId != '') {
          this.setData({
            albumDisabled: false,
            bindDisabled: true
          });
      }
    })
    

    控制台打印的结果是

    onLaunch
    onLoad
    onLoad app.globalData.employId = 
    onLaunch-request-success

    要是能等完onLaunch请求完再执行Page的onLoad方法那该多好。
    这里采用的方法是定义一个回调函数。
    Page页面判断一下当前app.globalData.employId是否有值,如果没有(第一次)则定义定义一个app方法(回调函数)app.employIdCallback = employId => {...}。
    App页面在请求success后判断时候有Page页面定义的回调方法,如果有就执行该方法。因为回调函数是在Page里面定义的所以方法作用域this是指向Page页面。

    //app.js
    App({
      onLaunch: function () {
        wx.request({
          url: 'test.php', //仅为示例,并非真实的接口地址
          data: {
          },
          success: function(res) {
            this.globalData.employId = res.employId;
            //由于这里是网络请求,可能会在 Page.onLoad 之后才返回
            // 所以此处加入 callback 以防止这种情况
            if (this.employIdCallback){
               this.employIdCallback(employId);
            }
          }
        })
      },
      globalData: {
        employId: ''
      }
    })
    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
      data: {
        albumDisabled: true,
        bindDisabled: false
      },
      onLoad: function () {
        //判断是用户是否绑定了
        if (app.globalData.employId && app.globalData.employId != '') {
          this.setData({
            albumDisabled: false,
            bindDisabled: true
          });
        } else {
          // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
          // 所以此处加入 callback 以防止这种情况
          app.employIdCallback = employId => {
            if (employId != '') {
              this.setData({
                albumDisabled: false,
                bindDisabled: true
              });
            }
          }
        }
      }
    })

    这样的话,就能实现想要的结果。执行顺序就是:

    [App] onLaunch -> [Page] onLoad -> [App] onLaunch sucess callback
    展开全文
  • 1、onLaunch 生命周期函数–监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) 2、onShow 生命周期函数–监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onSh

    何为生命周期

    生命周期是指一个事物从创建到销毁的一系列过程,小程序的生命周期指小程序页面从创建到销毁的过程。

    小程序全局[app.js]—生命周期

    1、onLaunch 生命周期函数–监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
    2、onShow 生命周期函数–监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow
    3、onHide 生命周期函 并带上错误信息

    小程序页面[pages/pagename.js]—生命周期

    1、onLoad 生命周期函数–监听页面加载
    2、onReady 生命周期函数–监听页面初次渲染完成
    3、onShow 生命周期函数–监听页面显示
    4、onHide 生命周期函数–监听页面隐藏
    5、onUnload 生命周期函数–监听页面卸载

    其中,打开小程序后会依次执行onLoad,onReady和onShow方法
    前后台切换会分别执行onHide和onShow方法
    当小程序页面销毁时会执行 onUnload方法

    展开全文
  • 在app.js文件中 , 定义了一些生命周期方法 , onLaunch,onShow,onHide,onError,以及任意开发者添加的函数或者数据(通过this可以访问) 以下是各个生命周期方法作用和描述 onLaunch 生命周期
  • 微信小程序生命周期

    2019-01-10 16:17:00
    小程序分为应用和页面两个部分,所以小程序的生命周期涉及三个部分,分别是: 1 应用的生命周期 2 页面的生命周期 ...onLaunch 生命周期函数-监听小程序初始化 onShow 生命周期函数-监听小程序显示 o...
  • —小程序级别App— (1)小程序的生命周期 (2)App() 参数 ...①onLaunch 生命周期函数–监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) App({ onLaunch: function...
  • 小程序的生命周期: App() 参数 ...①onLaunch 生命周期函数–监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) ②onShow 生命周期函数–监听小程序显示 当小程序启动,或从后...
  • 生命周期函数监听小程序初始化 小程序初始化完成时触发onlaunch(全局只会触发一次) onshow 生命周期函数监听小程序显示 当小程序启动或者从后台到前台触发onshow onhide 生命周期函数监听小程序隐藏 当小程序...
  • 有时候我们写页面或者组件的时候,写了一个生命周期函数,但是就是无效,没有反应,可能是我们写错了,因为写的不是对应生命周期函数,所以要认清生命周期函数,一下列举一些,仅供参考: 应用生命周期函数: ...
  • 生命周期onLaunch中运用redirectTo或reLaunch跳转页面后点击事件失效问题
  • 小程序的生命周期: App()参数 App构造器接受一个object参数 基础App构造案例: ...①onLaunch生命周期函数- - -监听小程序初始化 当小程序初始化完成时,会触发onLaunch(全局只触发一次) ②onShow生命...
  • 1. 生命周期 App(全局) 位置:项目根目录app.js文件 App({ onLaunch (options) { // console.log('小程序初始化') }, onShow(options) { console.log('监听小程序启动或切前台') }, onHide() { ...
  • 在uni-app中生命周期总的来说一共有三种类型 页面生命周期,其实就是小程序页面当中的生命周期。 页面生命周期 onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为Object(用于页面传参) ...
  • 页面加载过程:加载=》显示...触发页面生命周期:onLoad:监听页面加载 =》 onShow:监听页面显示 =》 onReady:监听页面初次渲染完成 =》 onHide:监听页面隐藏 =》 onUnload:监听页面卸载 uni-app支持的应用生命周期 ...
  • onLoad 生命周期函数 监听页面加载 onReady 生命周期函数-监听页面初次渲染完成 onShow 生命周期函数 监听页面显示 onHide 生命周期函数 监听页面隐藏 onUnload 生命周期函数 监听页面卸载 ...
  • onLaunch生命周期函数–监听小程序初始化,当小程序初始化完成时,会触发; onShow:生命周期函数–监听小程序显示,当小程序启动,或从后台进入前台显示,会触发; onHide:生命周期函数–监听小程序隐藏,当小...
  • onlaunch:当小程序初始化完成时,会触发 onLaunch(全局只触发一次)(app.js); onLoad: 页面加载 小程序注册完成后,加载页面,触发onLoad方法。一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所...
  • 二、小程序生命周期 App的生命周期是由微信客户端根据用户操作主动触发的。为了避免程序上的混乱,避免从其他代码里调用App实例的生命周期函数。...(1)onLaunch 生命周期函数–监听小程序初始化 ...
  • 一般有onLaunch监听小程序初始化、onShow监听小程序显示、onHide监听小程序隐藏等生命周期回调函数。 生命周期函数的调用顺序为:onLaunch>onShow>onHide 2.页面的生命周期 加粗样式 页面生命周期函数就是当...
  • (1)onlaunch:当小程序初始化完成时,会触发 onLaunch(全局只触发一次)(app.js);(2)onLoad: 页面加载小程序注册完成后,加载页面,触发onLoad方法。一个页面只会调用一次,可以在 onLoad 中获取打开当前...
  • 前言:很多同学容易将小程序生命周期和页面的生命周期混淆...一般有onLaunch监听小程序初始化、onShow监听小程序显示、onHide监听小程序隐藏等生命周期回调函数。 小程序生命周期-截图来自小程序官网 看文字对概念.
  • 微信小程序 生命周期和页面的生命周期详解: 1.小程序的生命周期——App.js App() 必须在 app.js 中注册,且不能注册多个。所以App()方法在一个小程序中有且仅有一个。 App() 函数用来注册一个小程序。接受一个 ...
  • 在小程序中,通过App()... 1. 小程序的生命周期 App.js App({ onLaunch: function () { console.log('App onLaunch'); }, onShow:function (){ console.log('App onShow'); }, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,455
精华内容 1,382
关键字:

onlaunch生命周期