【app.js】配置及App函数说明
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函数说明的更多相关文章
- [ionic开源项目教程] - 第2讲 新建项目,配置app.js和controllers.js搭建基础视图
新建项目 由项目功能架构图选择合适的页面架构,这里选用Tab,ionic新建项目,默认的模板就是tab. $ ionic start TongeNews Creating Ionic app in f ...
- 【微信小程序】App.js生命周期
1.小程序的生命周期-App.js App() 必须在 app.js 中注册,且不能注册多个.所以App()方法在一个小程序中有且仅有一个. App({ onLaunch: function () { ...
- 通过const app = getApp()实现在 page 页面获取 app.js 定义的属性globalData,即获取全局数据
App.js是项目的入口文件,页面的 page.js 文件会覆盖 app.js文件, App.js文件里面的一些方法: onLaunch : function(){}:这个方法是当小程序加载完毕后就执 ...
- phoenix使用vue--单独js(不使用app.js)
实际中不能都在一个js里 api.js app.js admin.js --vue 后台 记录下方法 static--admin--hello.js import "phoenix_html ...
- 微信小程序 --- 设置app.js/page.js参数的方法
设置 app.js 文件: //app.js App({ globalData: { is_login:false, userInfo:{} } }) 设置gloabalData的方法: // 定义a ...
- Flask - app的配置和实例化Flask的参数
目录 Flask - app的配置和实例化Flask的参数 app的配置 app的配置 Flask - app的配置和实例化Flask的参数 app的配置 基本用法: from flask impor ...
- page的js访问全局变量:app.globalData.openid
page获取app.js:const app = getApp(); page的js访问全局变量(get/set):const app = getApp(); app.globalData.openi ...
- nodejs教程:安装express及配置app.js文件
express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.js搭建个 ...
- nodejs教程 安装express及配置app.js文件的详细步骤
来自:http://www.jb51.net/article/36710.htm express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的 ...
随机推荐
- 转载 【MySql】Update批量更新与批量更新多条记录的不同值实现方法
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other ...
- Storm 出现 no jzmq in java.library.path
在真实环境中运行时,在log日志下,查看workpid日志发现出现该错误. 解决办法: 在conf/storm.yaml添加jzmq安装的路径, 我使用的默认安装在/usr/local/lib下 ja ...
- js数组去重(多种方法)
// js数组去重 Array.prototype.fun1 = function(){ var arr = this, result = [], i, len = arr.length; for(i ...
- 免安装版Tomcat9中间件的安装
[环境准备] OS版本:Windows10.64位 Tomcat版本:apache_tomcat9.0.7.zip免安装版 [彻底卸载已安装的Tomcat中间件] 01:由于是免安装版本,因此直接删除 ...
- gcc 手动安装
由于公司内部服务器没有联通外网,只能苦逼的手动安装gcc(自带的版本太老) rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm rpm -ivh cloog-ppl-0.15. ...
- wampserver 服务器报500错误,侦察小结
Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...
- 一个简易的android浏览器。求指教!
开发android的浏览器很简单吧,不过这浏览器倒是很简易.下面每一处代码都备注上注解了!废话不多说,下面直接上代码! 运行后界面 主界面的代码 activity_main.xml布局 <L ...
- ElasticSearch 安装配置
1. Elasticsearch5.5.2安装 1.1.Elasticsearch安装步骤 #安装之前需安装java 环境,并配置JAVA_HOME环境变量 #直接下载Elasticsearch- ...
- elasticsearch 5.x 系列之六 文档索引,更新,查询,删除流程
一.elasticsearch index 索引流程 步骤: 客户端向Node1 发送索引文档请求 Node1 根据文档ID(_id字段)计算出该文档应该属于shard0,然后请求路由到Node3的P ...
- 3. 进程间通信IPC
一.概念 IPC: 1)在linux环境中的每个进程各自有不同的用户地址空间.任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间是不能相互访问. 2)如果进程间要交换数据必须通过内核,在 ...