zoukankan      html  css  js  c++  java
  • 小程序的生命周期以及页面路由

      小程序的启动,和小程序的应用周期是息息相关的

      

      小程序应用的生命周期:由一个钩子组成,onLaunch  onShow  onHide  onError组成;

        我们第一次进入小程序,客户端会帮我们初始化小程序的运行环境,那么我们会在CDN下载,或者在本地缓存我们的代码包,把他注入到运行环境里

        在初始完之后,微信客户端会给我们逻辑层app.js的实例,派发一个onLaunch事件,那么我们在逻辑层app.js中App()的构造器中的onLaunch方法就会被调用,当我们按左上角的关闭,或者按home键返回的话,就属于热启动里面的,会触发我们的onHide方法,在5分钟内打开,我们的onShow方法就会被调用,当我们的小程序发生脚本错误或者API调用失败,就会触发我们的onError的方法

      微信小程序页面的生命周期

      

      小程序的页面生命周期由5个钩子组成:onLoad  onShow  onReady  onHide  onUnload组成

        当我们页面初次加载,微信客户端会给我们逻辑层定义Page()的实例,已给的一个onload的事件,那么配置构造器在参数所定义的onload事件就会被调用,onload事件在页面结束之前

      就会调用一次;在onload回调中,我们拿到当前页面调用所打开的参数,在页面显示之后,我们的onshow方式就会被调用,(分两种情况:一种,初次打开,另一种,从别的页面退到这个页面)

      当页面初次渲染完之后,onReady方法就会被调用,onReady方法,在onShow方法之后调用,他和onload方法一样,页面结束前就调用一次,当我们触发onready的方法后我们的视图层和逻辑层

      就可以进行交互了,我们在当前页面的基础上在次打开一个新的页面 onhide方法就会被执行,如果我们关闭当前页,onUnload方法就会被调用

      

      前面说过我们小程序由两大线程组成,view线程(处理页面)和App Service线程(数据及服务)两者协同工作,完成了我们生命周期的调用

      生命周期的流程:

        在我们小程序启动后,我们的view线程和App Service线程会同时创建,当App Service线程创建完毕后,onload方法和onshow方法就会依次调用,一般我们在这两个方法中

      去请求我们的数据,view初始化完毕后,会告诉我们的App Service线程,我初始化好了,那么App Service会给我们页面一个初始化数据,view线程在拿到初始化数据后,进行

      首次渲染,渲染完之后,我们的App Service会接受一个onReady的调用,这个时候我们就能在服务器上拿到我们的数据了,App Service线程将拿到的数据返回给view线程的视图

      层,view线程在拿到数据后,会在次渲染到我们的视图层

      

      页面路由

      

      我们都知道,小程序的页面不止一个,路由以框架进行管理,以栈的形式维护我们的小程序的页面;

      小程序打开路由的6中方式;

        初始化:新页面入栈

        打开新页面:新页面入栈

        页面重定向:当前页面出栈,新页面入栈

        页面返回:页面不断出栈,直到目标返回页,新页面入栈

        tab切换和重加载:页面全部出栈,只留下新的一页

      打开路由方式,可以触发的事件;

      

        

  • 相关阅读:
    推荐系统 蒋凡译 第一章 引言 读书笔记
    神经网络与深度学习 邱锡鹏 第5章 卷积神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第4章 前馈神经网络 读书笔记
    神经网络与深度学习 邱锡鹏 第3章 线性模型 读书笔记
    神经网络与深度学习 邱锡鹏 第2章 机器学习概述 读书笔记
    神经网络与深度学习 邱锡鹏 第1章 绪论 作业
    神经网络与深度学习 邱锡鹏 第1章 绪论 读书笔记
    算法笔记 上机训练实战指南 第13章 专题扩展 学习笔记
    算法笔记 第13章 专题扩展 学习笔记
    算法笔记 上机训练实战指南 第11章 提高篇(5)--动态规划专题 学习笔记
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10853418.html
Copyright © 2011-2022 走看看