现在打开

app.js

//app.js
App({
onLaunch(options) {
//小程序初始化
// console.log("小程序初始化", options)
},
onShow(options) {
//小程序启动,或者由后台切换到前台
// console.log("小程序启动,或者由后台切换到前台", options);
},
onHide(options) {
//小程序切换到后台
console.log("小程序切换到后台", options);
wx.showToast({
title: '12345',
})
},
onError(options) {
//错误监听函数
console.log("错误监听函数", options); },
// onPageNotFound(options) {
// //页面不存在时监听函数
// console.log("页面不存在时监听函数", options)
// },
diy_add: {
str_name: "我是自定义添加的数据 str_name,可以被所有小程序页面使用",
fc_name() {
console.log("我是自定义添加的数据 str_fc,可以被所有小程序页面使用")
},
}
})

为了便于观察,我去除了里面多余的代码,并标出了个小程序生命周期的钩子函数,以及定义一些可以被所有页面使用的自定义变量

app()

app()这个方法的作用是注册一个小程序,每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。它在全局中只执行,并且仅仅只能执行一次。否则会造成未知错误

生命周期钩子函数

介绍:生命周期钩子函数就是小程序运行到特定阶段中提供开发者编写自己业务逻辑的机会

onLaunch 小程序初始化之后,这个生命周期钩子函数全局只触发一次,小程序启动时触发一次之后,再不会触发。在这个阶段,小程序的初始化已经完成,你已经可以访问app()中自定义的数据。同时

onShow 小程序启动,可以触发多次,当小程序启动,或者小程序从后台进入前台时,都会触发这个函数,并且这两个函数,都接收一个参数,参数内容

onHide 小程序进入后台,可以触发多次当小程序计入后台时触发不接
 
onPageNotFound 小程序切换页面不存在时可以触发,这个钩子函数是一个很奇葩的存在,当你使用navigateTo等路由切换api切换到page的时候而page不存在,并不会触发这个函数,只会报个错误出来。这是官方的一个bug,不知道现在修复没有。

自定义项

整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取App上的数据或调用开发者注册在 App 上的函数。

如diy_add

idnex page:

  * 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(getApp());
},

结果

小程序学习三 一切的开始app() 小程序的注册的更多相关文章

  1. 微信小程序学习笔记(1)-微信小程序样式设置逻辑

    1.微信小程序的样式设置统一在每一页的.wxss的样式文件中,所有的样式设置代码统一写入这个文件中: 2.样式主要是通过.wxml里面控件的“class”属性来调用,此处调用会有几个细节要注意: 1) ...

  2. ballerina 学习 三十二 编写安全的程序

      ballerina编译器已经集成了部分安全检测,在编译时可以帮助我们生成错误提示,同时ballerina 标准库 已经对于常见漏洞高发的地方做了很好的处理,当我们编写了有安全隐患的代码,编译器就已 ...

  3. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  4. 微信小程序学习笔记一 小程序介绍 & 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

  5. 微信小程序笔记<三>入口app.js —— 注册小程序

    小程序开发框架在逻辑层使用的语言就是JavaScript,所以想玩小程序JavaScript的基本功一定要扎实.但小程序基于js做了一些修改,以方便开发者更方便的使用微信的一些功能,使得小程序更好的贴 ...

  6. 微信小程序学习笔记(三)--框架-逻辑层

    逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈. 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并在小程序启动的时候运行,直到小程序销毁.这一行为类似 Service ...

  7. 微信小程序学习

    官方网站 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 项目结构介绍 -- MINA框架 https://mp.weixin.qq.com/ ...

  8. 微信小程序学习笔记(阶段一)

    一阶段学习过程: (一)看官方文档的简易教程:https://mp.weixin.qq.com/debug/wxadoc/dev/ (二)看小码哥视频:https://chuanke.baidu.co ...

  9. Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解

    Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...

随机推荐

  1. 一句话概括 tcp三次握手

    服务端和客户端都需要直到自己均可收发,因此需要三次握手. 简化三次握手: <img width="487" alt="2018-07-10 3 42 11" ...

  2. Vue_子级组件调用主组件函数

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. h5开发与pc开发的差异性

    1. viewport 将layout viewport 设置成ideal viewport . width=device-width,也可以设置 initial-scale=1,最好两者都有. wi ...

  4. 页面background不随滚动条填充颜色

    这我又遇到了个问题,这问题我连问都不知道该怎么问,先搁在这儿,如果有办法了,再来补充. 原因:因为颜色板块是100%宽度,和页面保持同宽,所以拖动滚动条,右侧就大于了页面宽度. bug:  我写页面的 ...

  5. XML解析方式有哪些?

    1.DOM:要求解析器吧整个XML文档装载到内存,并解析成一个Document对象. (1).优点:元素与元素之间保留结构关系,故可以进行增删改查操作. (2).缺点:XML文档过大,可能出现内存溢出 ...

  6. psecurity配置

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  7. Linux常用查看日志命令tail

    常用查看日志操作语句:   tail web.2016-06-06.log -n 300 -f                       查看底部即最新300条日志记录,并实时刷新 grep 'ni ...

  8. 上传漏洞-js验证

    关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码, 最近给公司一客户培训,就照文档中的绕过写出了相应的代码,方便 ...

  9. [NOIP模拟测试12]题解

    A. 找规律题.儿子的编号减去 小于它编号的最大的fibonacci数 即可得到它父亲的编号. 然后两个节点都暴力上跳就好了.预处理一下fibonacci数,每次二分查找即可. #include< ...

  10. (转)Linux下使用system()函数一定要谨慎

    转:http://my.oschina.net/renhc/blog/53580 曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入.只是简单的知道用这个函 ...