在app.js里面你会发现一个onLaunch()方法,这个方法是当小程序加载完毕后就执行的方法,此外,还有一个onShow()方法,先看下面的代码

app.js

//app.js
App({
onLaunch: function (options) {
console.log(options);
console.log("你好");
}, onShow: function (options) {
console.log("This is the on show function");
console.log("onShow");
console.log(options);
}, globalData: {
userInfo: null
}
})

发现在控制台中,onLaunch和onShow方法都执行了,且二者的console.log(options)打印的是同样的东西,为啥要这样子呢?

首先onLaunch方法是在小程序加载时执行的,而onShow方法是在每次从小程序的前后台切换时都执行的,比如比点开发者工具上面的“切前台”,再点"切后台”,此时会发现控制台输出的是onShow方法里面内容,而onLaunch不再执行。

好像,手机里当你点小程序右上角的关闭按钮时,在5分钟之内再次进入该小程序的话,默认执行onShow方法,不执行onLaunch方法,好像是5分钟之内算是切换后台而已?(不是很确定)

onShow(options)
1.调用时机:小程序启动,或从后台进入前台显示时触发。如果想要在小程序每次进入到前台时都执行一些事情,那么可以将代码放在这个里面。
比如一些实时动态更新的数据,用户每次进来都要从服务器更新,那么我们就可以在这个里面做。

onHide()
调用时机:小程序被切换到后台(包括微信自身被切换到后台或者小程序暂时被切换到后台)。可以在这个方法中共做一些数据的保存。
小程序从前台进入后台时触发。

onError(String error)
小程序发生脚本错误或 API 调用报错时触发

onError:function(msg){
console.log(msg);
},

小程序出错的话,会在编辑器中自动打印出错误信息,该错误信息也可以通过onError(String error)的error参数接收并打印出来或者另作他用

来源:知了黄勇

微信小程序的onLaunch()方法和onShow()方法的更多相关文章

  1. 微信小程序自动去除input空格的方法

    当用户输入账号或者密码的时候,可能会有输入空格的情况,但是实际需要是不能够有空格的,所以我们要做一个去除空格,并且适应所有input的name参数的方法,下面请看源码: wxml: <input ...

  2. 微信小程序之onLaunch与onload异步问题

    所述问题: 前端时间开发了一个微信小程序商城项目,因为这个项目我们的需求是进入小程序就通过wx.login({}) 这个api进行用户登录,获取系统后台的用户基本信息.再此之前,一直以为微信小程序中的 ...

  3. 关于微信小程序的一些看法和理解

    最近做了几个小时的调研,微信小程序 微信小程序是可以理解成在微信中的APP,他的目标是APP的替代者,由于目前的APP主要区分安卓和IOS,或者其他平台, 那么微信小程序的平台在微信,在任何一个手机系 ...

  4. 微信小程序——详细讲解页面传值(多种方法)

    1.使用navigator的url带参传值 (1)在pageA页面有一个固定的值要传递到pageB页面,比如说一个固定的值user_id要传递给B <navigator url=".. ...

  5. 微信小程序腾讯地图SDK使用方法

    一.本篇文章主要知识点有以下几种: 1.授权当前位置 2.map组件的使用 3.腾讯地图逆地址解析 4.坐标系的转化 二.效果如下: 三.WXML代码 <map id="map&quo ...

  6. 微信小程序常见错误及基本排除方法

    也接触了不少人解决问题的过程里,有一些比较难以排查的可能性列举在这,方便大家看一下:   也欢迎大家把自己常用的排除方法列举在这,一起互相学习探讨!1:ES6:使用es6可能导致安卓端真机调试时很多问 ...

  7. 微信小程序 引用其他js里的方法

    微信小程序中,在微信官方开发文档我们可以知道 小程序的目录结构 . 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件 ...

  8. 微信小程序(组件demo)以及预览方法:(小程序交流群:604788754)

    1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开发者设置"中,查看到微信小程序的 Ap ...

  9. 微信小程序点击返回顶层实现方法

    最近在研究微信小程序,被这个返回顶层给坑了一波,下面贴代码 wxml代码: <scroll-view scroll-y style="height: 1000rpx;" sc ...

随机推荐

  1. 解决SDK未授权问题

    问题描述 在启动项目的时候报错了,如下: What went wrong: A problem occurred configuring project ':app'. > You have n ...

  2. css常用属性总结之 id和class的区别,使用类还是ID?

    前面两篇文章我们分别谈到了class和id的相关知识和如何使用,但是在实际项目中,我们该如何抉择,class还是id? 先回顾下两者的区别吧! 1.id具有唯一性,class具有普遍性,所以一个页面同 ...

  3. minio test

    docker pull minio/minio docker run --name=minio -d  -p 9001:9000 minio/minio server /data https://do ...

  4. AddComponentMenu

    [AddComponentMenu] The AddComponentMenu attribute allows you to place a script anywhere in the " ...

  5. centos6 安装 docker

    一.升级内核(带aufs模块) 1.yum安装带aufs模块的3.10内核(或到这里下载kernel手动安装:http://down.51cto.com/data/1903250) cd /etc/y ...

  6. 行走于Swift的世界中(转)

    从Swift正式公布到现在,我基本一直在关注和摸索Swift.对于一门新语言来说,开荒阶段的探索自然是激动人心的,但是很多时候,资料的缺失和细节的隐藏也让人着实苦恼.最近几天的感受是,Swift 并不 ...

  7. Qt webkitwidgets模块和webenginewidgets模块

    问题 将Qt开发的程序从Qt5.5或更低的版本迁移到5.6或更高的版本时,会提示webkitwidgets是unknown module. Project ERROR: Unknown module( ...

  8. cannot find -lf2c

    sudo apt-get install libf2c2 auso apt-get install libf2c2-dev

  9. TensorFlow全新的数据读取方式:Dataset API入门教程

    TensorFlow.data : http://tech.ifeng.com/a/20171109/44752505_0.shtml Pytorch:https://ptorch.com/docs/ ...

  10. Java 前台后台数据传递、中文乱码解决方法

    1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递:  这种方式只是单一的向前台传递 ...