跳至内容
咸鱼笔记
用户工具
注册
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
注册
登录
>
最近更改
媒体管理器
网站地图
您在这里:
start
»
mina
»
4.App() 函数
mina:app_function
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== 4.App() 函数 ====== ===== -#1 App() ===== App()函数用来<wrap em>注册</wrap>一个小程序。接受一个<wrap em>object参数</wrap>,其指定小程序的生命周期函数等。参考[[https://www.w3cschool.cn/weixinapp/weixinapp-app.html|微信小程序 注册程序 App()函数]] \\ :!: App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。 <code javascript> //根目录下的app.js App({ onLaunch: function(options) { console.log("onLaunch"); }, onShow: function(options) { console.log("onShow"); }, onHide: function() { console.log("onHide"); }, onError: function(msg) { console.log(msg); }, test: function(){ console.log("I am func from App.js"); }, globalData: { userInfo: null, helloFromAPP:'Hello,I am From APP.JS' } }) </code> ==== - object 参数 ==== :!: 最外层的整个{ }就是一个 [[https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html | object 参数]]。 === - onLaunch() === 小程序初始化完成时触发,全局只触发一次。参数也可以使用 [[https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html|wx.getLaunchOptionsSync]] 获取。 * 来源小程序、公众号或 App 的 appId === - onShow() === 小程序启动,或从后台进入前台显示时触发。也可以使用 [[https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html|wx.onAppShow]] 绑定监听。 ===== -#2 getApp() ===== 开发者可以通过 getApp 方法获取到全局唯一的 App 示例,获取App上的数据或调用开发者注册在 App 上的函数。 :?: 在其他子页面如何使用呢? <code javascript> // 其他文件下的index.js var app = getApp(); console.log(app.globalData.helloFromApp); // 调用全局变量 app.test(); // 调用全局方法 </code> {{ :微信小程序:编译器.png?400 |}} *<del> App() 必须在 app.js 中注册,且不能注册多个。</del> * 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。[[https://blog.csdn.net/caseywei/article/details/85263712|微信小程序App()方法与getApp()方法]] this.globalData.userInfo = res.userInfo 不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。 \\ ===== -#3 GlobalData ===== 如果希望在各个页面之间共同使用某些信息,并且可以对共享数据进行修改设置,以便于其他页面根据数据变化进行对应的调整,最好使用全局数据globalData。\\ ==== - 在app.js文件 ==== 在app.js文件中,怎样设置和修改。设置其实跟在其他js文件中设置data值是一样的:[[https://www.cnblogs.com/jiangtengteng/p/10531297.html|微信小程序 如何使用globalData]] \\ <code javascript> //app.js App({ globalData: { name: '张三', age: 18 } }) </code> 根据自己的需求,设置任何数据。在app.js中读取globalData,使用this就可以 \\ <code javascript> //app.js App({ globalData: { name: '张三', age: 18 }, onLoad: function(){ console.log(this.globalData.name); } }) </code> 如果我们需要在app.js中修改globalData,只需要给对应的变量重新赋值就可以 \\ <code javascript> //app.js App({ globalData: { name: '张三', age: 18 }, onLoad: function(){ this.globalData.name = '李四' } }) </code> ====- 其他页面 ==== 在其他页面读取以及修改globalData。不论是读取还是修改,首先需要在应用的页面js文件中,引用app()实例,所以在js文件中,第一句要写上这句 \\ <code javascript> var app = getApp(); </code> 然后 \\ <code javascript> //index.js var app = getApp(); Page({ onLoad: function() { console.log(app.globalData.name); } }) </code>
mina/app_function.txt
· 最后更改: 2020/08/24 14:05 由
sabertoy
页面工具
显示页面
过去修订
反向链接
回到顶部