app.js中的App函数用来注册一个小程序或设置全局变量。

App函数:

语法:App(Object)
     参数: Object json对象
     说明: App函数必须在app.js中调用,必须调用且只能调用

 App({

     /**
* onLaunch(Object)
* 说明: 小程序初始化完成时触发,全局只触发一次。
* 参数: Object, 可从参数Object获取以下值:
* Object.path [String] 打开小程序的路径
* Object.query [String] 打开小程序的query
* Object.scene [Number] 打开小程序的场景值(值对应的场景:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html)
* Object.shareTicket [String] 转发分享信息,详见https://developers.weixin.qq.com/miniprogram/dev/api/share.html#wxgetshareinfoobject
* Object.referrerInfo [Object] 当场景为由从另一个小程序或公众号或App打开时,返回此字段
* Object.referrerInfo.appId [String] 来源小程序或公众号或App的 appId
* Object.referrerInfo.extraData [Object] 来源小程序传过来的数据,scene=1037或1038时支持
*
* 注意: referrerInfo、referrerInfo.appId、referrerInfo.extraData与scene场景值有关联
**/
onLaunch : function(Object){
}, /**
* onShow(Object)
* 说明: 小程序启动,或从后台进入前台显示时触发。
* 参数: Object, 与onLaunch参数相同
**/
onShow : function(Object){
}, /**
* onHide()
* 说明: 小程序从前台进入后台时触发。
**/
onHide : function(){
}, /**
* onError(error)
* 说明: 小程序发生脚本错误,或者 api 调用失败时触发。
* 参数: error [String] 错误信息,包含堆栈
**/
onError : function(error){
}, /**
* onPageNotFound(Object)
* 说明: 小程序要打开的页面不存在时触发。
* 参数: Object, 可从参数Object获取以下值:
* Object.path [String] 不存在页面的路径
* Object.query [Object] 打开不存在页面的 query
* Object.isEntryPage [Boolean] 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面)
*
* 注意:
* 1) 开发者可以在 onPageNotFound 回调中进行重定向处理(wx.redirectTo...),但必须在回调中同步处理,异步处理(例如 setTimeout 异步执行)无效。
* 2) 如果开发者没有添加 onPageNotFound 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
* 3) 如果 onPageNotFound 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 onPageNotFound。
**/
onPageNotFound : function(Object){
this.errorPages = 2 // 采用this修改全局变量errorPages值
}, /**
* 自定义其它类型数据,比如数组、JSON类
* 这类型数据为小程序所有页面共享
**/
errorPages : 0,
count : 1,
myArr : [1, 2, 3],
myJson : {
"title" : "hello world!"
}
})

getApp函数:

语法: getApp(Object)

说明: 获取App内定义的相关数据,比如上例中的 count

参数: Object

Object.allowDefault  [Boolean]  在 App 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。

注意:

1) 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。

2) 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

示例:

比如要在页面:index内调用App的全局变量,index.js示例代码:

 const app = getApp()

 Page({
onLoad: function () {
console.log( app.count );
} })

【app.js】配置及App函数说明的更多相关文章

  1. [ionic开源项目教程] - 第2讲 新建项目,配置app.js和controllers.js搭建基础视图

    新建项目 由项目功能架构图选择合适的页面架构,这里选用Tab,ionic新建项目,默认的模板就是tab. $ ionic start TongeNews Creating Ionic app in f ...

  2. 【微信小程序】App.js生命周期

    1.小程序的生命周期-App.js App() 必须在 app.js 中注册,且不能注册多个.所以App()方法在一个小程序中有且仅有一个. App({ onLaunch: function () { ...

  3. 通过const app = getApp()实现在 page 页面获取 app.js 定义的属性globalData,即获取全局数据

    App.js是项目的入口文件,页面的 page.js 文件会覆盖 app.js文件, App.js文件里面的一些方法: onLaunch : function(){}:这个方法是当小程序加载完毕后就执 ...

  4. phoenix使用vue--单独js(不使用app.js)

    实际中不能都在一个js里 api.js app.js admin.js --vue 后台 记录下方法 static--admin--hello.js import "phoenix_html ...

  5. 微信小程序 --- 设置app.js/page.js参数的方法

    设置 app.js 文件: //app.js App({ globalData: { is_login:false, userInfo:{} } }) 设置gloabalData的方法: // 定义a ...

  6. Flask - app的配置和实例化Flask的参数

    目录 Flask - app的配置和实例化Flask的参数 app的配置 app的配置 Flask - app的配置和实例化Flask的参数 app的配置 基本用法: from flask impor ...

  7. page的js访问全局变量:app.globalData.openid

    page获取app.js:const app = getApp(); page的js访问全局变量(get/set):const app = getApp(); app.globalData.openi ...

  8. nodejs教程:安装express及配置app.js文件

    express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.js搭建个 ...

  9. nodejs教程 安装express及配置app.js文件的详细步骤

    来自:http://www.jb51.net/article/36710.htm   express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的 ...

随机推荐

  1. 【题解】洛谷P3399 丝绸之路

    我丑,话说在前头 题目: https://www.luogu.org/problemnew/show/P3399 一道挺简单的DP 思路不难想 但是蒟蒻总是写错初始化啥的 思路 定义f[i][j]为第 ...

  2. PL/SQL规范、块、过程、函数、包、触发器

    1.pl/sql规范 标识符号的命名规范 1) 定义变量,用 v- 作为前缀 v-sal 2)定义常亮, 用 c- 作为前缀 c-rate 3) 定义游标,用 cursor作为后缀 emp_curso ...

  3. git submodule update --init --recursive

    最近在跑好几个模型,视频检测,物体检测,搭建mxnet时,有点问题,记录一下. 视频检测,mxnet需要用指定版本,git 切换到指定版本后,update了,但是依然提示说有些库找不到.想了想,应该是 ...

  4. Java基础——数据结构总结

    目的 : 加强类与对象的内存分配理解,加强操作能力.理解数据结构. 结构 : 数据元素之间的关系. 数据结构 : 带有结构的数据对象. 线性结构: 各数据元素之间的逻辑以用一个线性序列简单的表达出现. ...

  5. ios断点续传:NSURLSession和NSURLSessionDataTask实现

    苹果提供的NSURLSessionDownloadTask虽然能实现断点续传,但是有些情况是无法处理的,比如程序强制退出或没有调用 cancelByProducingResumeData取消方法,这时 ...

  6. 你不知道的javaScript笔记(3)

    对象 对象可以通过两种形式定义: 声明形式和构造形式 声明形式语法: var myObj = {key:value} 构造形式语法: var myObj = new Object(); myObj.k ...

  7. PTA 最多删除3个字符(DP) - 30分

    给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串? 输入格式: 输入在一行中给出全部由小写英文字母组成的.长度在区间 [4, 1] 内的字符串. 输 ...

  8. 2018 Wannafly summer camp Day3--Shopping

    Shopping 描述 题目描述: 你要买n件物品,其中有一些是凳子. 商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品. 你有m辆购物车,请最小化你的花 ...

  9. C++创建People类--练习

    题目描述 /*设计一个用于人事管理的People(人员)类.*/ /* 考虑到通用性,这里只抽象所有类型人员都具有的属性: number(编号).sex(性别).birthday(出生日期).id(身 ...

  10. 在cmd下面执行.py文件时提示ModuleNotFoundError 但是 IDE 不报错

    原理是 python 解释器寻找 模块的顺序决定,不细说 简略来讲就是 在 IDE中运行,会自动帮你把项目根目录添加到 PYTHONPATH 中,但是在 cmd 运行需要自己添加. 解决方法: 1. ...