app.js里面定义全局变量
//app.jsApp({onLaunch: function () {this.globalData = {statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],//顶部栏高度// "navigationStyle": "custom" 需要顶格显示的页面json文件需要加此配置isLogin:false}}})
方法一、在其他页面js获取全局变量,在Page外先定义const app = getApp()
//pages/index/index.jsconst app = getApp()Page({data: {statusBarHeight: app.globalData.statusBarHeight,//从全局变量自定义顶部栏高度并赋值给当前页面变量statusBarHeightpage_data:0,//赋值页面变量page_data=0},onLoad: function (options) {// 页面初始化 options为页面跳转所带来的参数console.log(options)//发起网络请求var that = this//不要漏了这句,把当前的状态对象存储到that变量对象中,因为this在js中是特指当前整个Page({})对象,如果中间进行其他操作this所指代的对象是会变化的that.setData({statusBarHeight:200,//赋值,冒号“:”page_data:10//赋值new_data:'这是新定义的变量'// 在setData里直接设置新的参数new_data,也可以与wxml中的{{new_data}}进行数据绑定})app.globalData.statusBarHeight=300//给全局变量赋值注意这里是等于号“=”app.globalData.isLogin= trueconsole.log(app.globalData.statusBarHeight)},//如果wxml中需要显示变量值// <view class="topbar" style="padding-top:{{statusBarHeight}}px">//{{page_data}}{{new_data}}//</view>
方法二、直接获取,跟方法一不能混用。
//pages/index/index.jsPage({data: {statusBarHeight: getApp().globalData.statusBarHeight,//},
下面是摘抄自简书网友的文章代码“一个好的app.js”,原文地址:https://www.jianshu.com/p/925aad432874
//app.jsApp({//全局变量globalData:{userInfo:null,sysInfo:null,windowW:null,windowH:null},//启动onLaunch: function () {// 获取用户信息this.getUserInfo();this.getSys();},//获取用户信息getUserInfo:function(cb){var that = thiswx.login({success: function () {wx.getUserInfo({success: function (res) {that.globalData.userInfo = res.userInfoconsole.log(res.userInfo);typeof cb == "function" && cb(that.globalData.userInfo)}})}})},//获取手机信息getSys:function() {var that = this;// 这里要非常注意,微信的scroll-view必须要设置高度才能监听滚动事件,所以,需要在页面的onLoad事件中给scroll-view的高度赋值wx.getSystemInfo({success: function(res) {console.log(res.model)console.log(res.pixelRatio)console.log(res.windowWidth)console.log(res.windowHeight)console.log(res.language)console.log(res.version)console.log(res.platform)//设置变量值that.globalData.sysInfo=res;that.globalData.windowW=res.windowWidth;that.globalData.windowH=res.windowHeight;}})}})
发表评论