方法一:app.js 内设置全局变量(如屏宽,屏高的设置)

1、app.js文件,定义全局变量

/定义全局变量
globalData:{
userInfo:null,
sysInfo:null,
windowW:null,
windowH:null
}

  设置全局变量

//举例获取手机信息
getSys:function() {
var that = this;
// 这里要非常注意,微信的scroll-view必须要设置高度才能监听滚动事件,所以,需要在页面的onLoad事件中给scroll-view的高度赋值
wx.getSystemInfo({
success: function(res) {
//设置变量值
that.globalData.sysInfo=res;
that.globalData.windowW=res.windowWidth;
that.globalData.windowH=res.windowHeight;
}
})
}

  最后的app.js文件

//app.js
App({
//全局变量
globalData:{
userInfo:null,
sysInfo:null,
windowW:null,
windowH:null
},
//启动
onLaunch: function () {
// 获取用户信息
this.getUserInfo();
this.getSys();
},
//获取用户信息
getUserInfo:function(cb){
var that = this
wx.login({
success: function () {
wx.getUserInfo({
success: function (res) {
that.globalData.userInfo = res.userInfo
console.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;
}
})
} })

  使用app全局变量

//获取app变量
var app = getApp()
Page({
data: {
barItems:[
{id:0,title:"订单",enable:true,icon:'../../images/1.png'},
{id:1,title:"退房",enable:false,icon:'../../images/2.png'},
{id:2,title:"续住",enable:false,icon:'../../images/3.png'}
],
hasLive:true,
},
onLoad:function(){
var that = this;
// 取值全局变量
var sysInfo = app.globalData.sysInfo;
console.log(app.globalData);
that.setData({
windowH:sysInfo.windowHeight-44,
windoww:sysInfo.windowWidth
});
}
})

  

方法二:全局js设置常用值

全局js文件(data.js)

//对外提供接口  需要暴露在外面才能调用
module.exports = {
getUserKey : getUserKey,//保存登录的用户信息
getOpenPwKey : getOpenPwKey,//保存开门的钥匙
getUrl:getUrl,//host接口
} //接口URL==============
function getUrl(){
return "http://localhost/userapp";
} //本地保存数据的key==============
//保存登录的用户信息
function getUserKey(){
return "xxx";
}
//保存开门的钥匙
function getOpenPwKey() {
return "xxx";
}

  全局js使用方法

//获得全局js变量
var Data = require('../../../utils/data.js');
//调用js文件方法
Data.getUrl()+'/user/loginCommon',
Data.getUserKey(),//"userInfo",

  data.js文件使用文件js

var app = getApp();
//获得全局js变量
var Data = require('../../../utils/data.js'); Page( {
data: { }, changeInputUser: function(e) {
var value = e.detail.value;
// console.log(value);
this.setData({
userName : value,
})
}, changeInputPw: function(e) {
var value = e.detail.value;
// console.log(value);
this.setData({
password : value,
})
}, loginAction: function (event) {
console.log("dsadsad");
var pw = this.data.password;
var user = this.data.userName;
console.log(user);
console.log(pw);
wx.showLoading({
title: '加载中',
mask: true
});
wx.request({
url: Data.getUrl()+'/user/loginCommon',
method: 'POST',
data: {
phone:user,
password:pw
},
header: {
'content-type': 'application/x-www-form-urlencoded'
// 'Accept': 'application/x-www-form-urlencoded'
},
complete: function(res) {
wx.hideLoading();
},
success: function(res) { console.log(res);
wx.hideLoading();
if(res.data.status==500){
wx.setStorage({
key:Data.getUserKey(),//"userInfo",
data:res.data.data
})
wx.showToast({
title: '请求成功',
icon: 'success',
mask: true,
});
wx.navigateBack({
delta: 1
})
}else {
wx.showToast({
title: res.data.data,
icon: 'error',
mask: true,
});
} }
})
},
})

  

来源: https://www.jianshu.com/p/e3de2c605506

微信小程序,全局变量方法的使用的更多相关文章

  1. 微信小程序 全局变量

    微信小程序里面有个app.js,我们可以在这个里面设置全局变量, App({ globalData:{ url:"http://xxx.xxx.xx:3000" } }) 在外面就 ...

  2. 微信小程序ES6方法Promise封装接口

    为何要封装接口? 有小程序开发的经验者,相信对微信API Request很熟悉了.对接接口时,有大部分的开发者都是直接调用request方法,去请求后台接口并渲染数据.诚然,直接使用api发起请求对接 ...

  3. 微信小程序全局变量改变监听

    问题来源 最近工作需要写小程序页面,其中有个页面情况为:父页面中包含了一个组件页面,组件页面中又包含了另外一个组件页面.需求为:点击最后一个组件页面中的一个view,需要显示最外层父页面中的一个弹出层 ...

  4. 微信小程序支付、小程序支付功能、小程序支付方法、微信小程序支付方法

    相信大家在做小程序的时候不可避免的会碰到支付功能小程序的支付和pc的是有区别的小程序的支付方法为 wx.requestPayment wx.requestPayment({ timeStamp: '' ...

  5. 微信小程序setData()方法的详解以及对数组/json操作

    此篇文章是本人对setData方法的一些理解,是查阅文档和查找一些其他资料综述的,有所不足希望指正! 直接进入正题! 一.setData()方法: 1.参数接受一个对象,以key,value的形式表示 ...

  6. 微信小程序-setData()方法

    一般setData方法多用于点击后改变页面信息或者刷新后与后台交互获取最新的信息 注意: 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致 ...

  7. 微信小程序全局变量的设置、使用、修改

    1. 全局变量的设置 在miniprogram > app.js 文件中设置,globalData对象就是存储全局变量的. App({ globalData: { hasLogin: false ...

  8. 微信小程序公共方法创建与调用

        在根节点建个 utils  文件夹,在文件夹下建立 util.js   在util.js里面写入 var util = {}; util.getUserId= function(e, t) { ...

  9. 剖析简易计算器带你入门微信小程序开发

    写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...

  10. 微信小程序——获取openid

    1.在微信小程序后台得到appid.AppSecret 2.在任意小程序界面的[onLoad]中取得code(建议将代码写在index.js中) 3.用取得code换取openid 如后台无法将ope ...

随机推荐

  1. es学习-索引管理

    1.创建索引 http://localhost:9200/suoyinguanli211/ 参数: { "settings":{ "index":{ ,分片数 ...

  2. [GO]goexit的使用

    package main import "fmt" func test() { defer fmt.Println("cccccccccccc")//在函数退出 ...

  3. [GO]匿名函数和defer

    package main import "fmt" func main() { a := 10 b := 20 defer func() { fmt.Printf("a ...

  4. 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)

    本篇文章主要介绍了"两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)",主要涉及到两款JSON类库Jackson与JSON-lib的性能对比(新增第三款 ...

  5. LightOJ 1098(均值不等式,整除分块玄学优化)

    We all know that any integer number n is divisible by 1 and n. That is why these two numbers are not ...

  6. MySQL如何查看连接数和状态

    查看连接数 命令:show processlist 如果要是root账号,能够看见当前所有用户的连接.如果是普通账号,只能看到自己占用的连接数.   show processlist只能是列出前100 ...

  7. centos安装mysql,tomcat

    软件下载: jre和jdk下载:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javas ...

  8. MongoDB整理笔记のjava MongoDB分页优化

    最近项目在做网站用户数据新访客统计,数据存储在MongoDB中,统计的数据其实也并不是很大,1000W上下,但是公司只配给我4G内存的电脑,让我程序跑起来气喘吁吁...很是疲惫不堪. 最常见的问题莫过 ...

  9. Delphi Excel操作,写了个ADODataSet转Excel的函数作为后期学习的例子

    使用该函数需要先Use Excel2010 //DataSet导出Excel2010格式//FileName=待导出的Excel的文件名,不带路径以及后缀:TitleLine1=导出后Excel第一表 ...

  10. 基于JSP+Servlet开发手机销售购物商城系统(前台+后台)源码

    基于JSP+Servlet开发手机销售购物商城系统(前台+后台) 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图: ...