【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的 ...
随机推荐
- jsp的4个作用域区别( pageScope、requestScope、sessionScope、applicationScope)
简单描述 page里的变量没法从index.jsp传递到test.jsp.只要页面跳转了,它们就不见了. request里的变量可以跨越forward前后的两页.但是只要刷新页面,它们就重新计算了. ...
- oracle序列中cache和nocache
首先我这篇博客的内容是我不知道oracle里的 cache 是什么,结果越查越多... "序列的cache通常为 20,但在需要依据序列值判断创建的先后顺序时必须是 NOCACHE" ...
- code First 三 Fluent API
Entity Framework Fluent API用于配置域类以覆盖约定. 在实体框架6中,DbModelBuilder类充当Fluent API,我们可以使用它来配置许多不同的东西.它提供了比数 ...
- Navicat for Mysql修改MySQL数据库密码,图文详解
1.创建一个连接 2.打开连接 3.按照图示123依次点击 4.输入新密码 5.查看实现修改密码功能的SQL语句(此步骤非必须) 6.最关键的一步:点击保存 7.出现如下现象,恭喜你,修改密码成功! ...
- jzoj5196. 【NOIP2017提高组模拟7.3】B (数论,巧妙的暴力)
Description
- oracle调度中使用schedule管理调度
开始前,先说一句:作为dba应该禁止所有应用使用dbms_job. dbms_scheduler非常复杂,oracle在两本书中专门花费不少章节描述,这两本书分别是: Oracle® Database ...
- nginx问题之nginx: could not build server_names_hash, you should increase server_names_hash_bucket_size解决方案
昨天在nginx上部署了一个网站后,发现访问不了,再去访问之前部署的网站,发现都访问不了了,去看下下nginx,发现nginx服务停止了,没有在运行,重启了下服务,发现还是一样,就去看了下nginx的 ...
- Redis安装与简单配置
一.Redis介绍 1.redis是什么? remote dIctionary server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提 ...
- MAthJax入门教程(五分钟上手)
最近在研究,在页面中显示一些数学公式.搞得我很头疼. 据说MathJax会统一这已领域.所以去学了学.网上教程特别多.繁杂. 说的清楚的特别少. 我是这么跑通的,: 1.在官网下载代码地址为:http ...
- Apache Maven(五):插件
Maven的插件分如下两种: build plugins:该插件在项目构建阶段执行,它们都在<build>标签中设置. reporting plugins : 该插件在网站生成期间执行,他 ...