微信小程序WXML页面如何获取全局变量值

微信小程序WXML页面如何获取全局变量值,第1张

首先在wxml中是无法显示app.js中的全局变量(也就是app.js里面globalData中的变量),如果想用到app.js中的变量时可以在当前页面中的js文件里面先将全局变量获取的本地。举例子如下

------------------------分割线---------------------------

需求:将全局变量中的test:"hello world!" 显示到当前页面

-----------------------分割线--------------------------

app.js文件内容

App({

globalData{

test:"hello world"

}

})

-----------------------分割线---------------------

index.js文件内容

var app =getApp()

Page({

test:null

})

onLoad: function (options) {

this.setData({

test:app.globalData.test

})

}

---------------------分割线------------------------

index.wxml文件内容

<view>{{test}}</view>

App({

  onLaunch: function(options){

    console.log("app.js ---onLaunch---" + JSON.stringify(options))

  },

  onShow:function(){

    console.log("app.js ---onShow---")

  },

  onHide:function(){

    console.log("app.js ---onHide---")

  },

  onError: function(msg){

    console.log("app.js ---onError---" + msg)

  },

  globalData: {

    userInfo: null

  }

})

onLaunch 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

onShow 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow

onHide 生命周期函数--监听小程序隐藏 当小程序从前台进入后台,会触发 onHide

onError 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

globalData 指的全局变量

(onLaunch, onShow 方法会返回一个参数对象, 里面包含了三个参数 , path,query和scene ,path是打开小程序的路径

query是打开小程序页面url的参数,scene是打开小程序的场景值

)

修改全局变量赋值

在App.js中修改GlobalData的值

在小程序的所有页面中都可以随时调用和写入存放在GlobalData的数据。无论是调用还是写入,第一步都是要让页面与App.js产生关联。所以在页面的对应的JS中,第一句话就要写上:   

var app = getApp()

app.globalData.userinfo = 123

缓存就是类似数据库,全局变量就是所有页面都能用,这是两个东西,比如说新闻应用,首页的数据需要放到缓存里,然后下次访问首页的时候直接加载缓存的数据,然后在异步调用接口刷新数据,这样在进入首页的时候就不需要loading了,直接能看到数据,感觉就是秒开,用户体验更好一些,全局变量就是类似用户登录信息,登录之后设置成全局的,每个页面都可以使用,不然跳转后就需要每次都重新获取用户信息


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11102981.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存