uni-app 中定义全局变量globalData注意事项
uni-app 关于全局变量有以下描述:
小程序中有个globalData概念,可以在 App 上声明全局变量。 Vue 之前是没有这类概念的,但 uni-app 引入了globalData概念,并且在包括H5、App等平台都实现了。
在 App.vue 可以定义 globalData ,也可以使用 API 读写这个值。
globalData支持vue和nvue共享数据。
<script> export default { globalData: { text: 'text' }, onLaunch: function() { console.log('App Launch') }, onShow: function() { console.log('App Show') }, onHide: function() { console.log('App Hide') } }
</script> <style> /*每个页面公共css */
</style>
js中操作globalData的方式如下:
赋值:getApp().globalData.text = 'test'
取值:console.log(getApp().globalData.text) // 'test'
但使用的时候要注意,在onLaunch,onShow生命周期函数中不能直接使用getApp().globalData,会报错。猜测是因为getApp()在这两个生命周期函数中还没有创建出app实例。那怎么用呢?
<script>export default {globalData: {isIphoneX: false,provider: 'weixin' //'alipay' 'baidu' 'toutiao'},onLaunch: function() {console.log('App Launch')this.init()},onShow: function() {console.log('App Show')setTimeout(() => {let provider = getApp().globalData.providerconsole.log(`globalData is: ${provider}`)}, 0)},onHide: function() {console.log('App Hide')},methods: {init() {this.$nextTick(function(){let provider = getApp().globalData.providerconsole.log(`liubbc provider: ${provider}`)})let context = thisuni.getSystemInfo({success: function(res) {context.globalData.isIphoneX = res.model.indexOf('iPhone X') != -1 ? true : false}})uni.getProvider({service: 'oauth',success: function(res) {context.globalData.provider = res.provider[0] || 'weixin'}}); },}}
</script><style>/*每个页面公共css */@import '@/common/css/common.css';
</style>
上面代码给出了正确的使用方式。
uni-app 中定义全局变量globalData注意事项相关推荐
- 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化
微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...
- MFC中定义全局变量和全局函数的方法
使用Visual C++6.0 中的MFC 基本应用时, 由于 MFC 制作的工程由很多文件构成, 它不能象一般C++程序那样随意在类外定义全局变量, 那样有时会在运行程序时出现问. 在软件开发过程中 ...
- 在JavaScript函数中定义全局变量
是否可以在JavaScript函数中定义全局变量? 我想在其他函数中使用trailimage变量(在makeObj函数中声明). <html xmlns="http://www.w3. ...
- html引用c 变量,在jsp页面中定义全局变量,供其他页面引用
一.在一个jsp中引用另一个jsp的方法有: 1.使用 jsp include指令(常用): file属性是必填的(绝对或相对路径),但它不支持任何的表达式,也不允许通过?挂参方式来传递参数. 注意: ...
- uni app中使用图表
关于在uni app中运用图表 今天写项目,需要在uni app中使用图表,我使用的是ucharts. 具体操作如下 1.下载 ucharts可以直接在uni app的插件市场下载安装. 先在插件市场 ...
- 能不能在头文件中定义全局变量?
首先,这是一篇科普文,所以 比较杂,我尽量写清楚一些. 1.ANSI C标准是什么?GNU又是什么?ld是什么? ANSI C是C语言的标准规范,是国际标准化组织制定的国际标准. 虽然 ANSI C规 ...
- c语言中的全局变量类型,c++全局变量 C/C++中定义全局变量的几种方法及区别
c语言中全局变量主要是定义在所有函数之外的变量,在程序执行的过程中一直有效,可以被任何函数引用.赋值,想要定义它,一般将其定义在主函数main()之外就行. 例如下面的程序段,变量m就是一个全局变量, ...
- c语言头文件可以定义全局变量,C语言在头文件中定义全局变量
C语言在头文件中定义全局变量 头文件定义全局变量等问题 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 可以,在不同的C文件中以static形式来声明同名全局变量.头文件中不可以直接定 ...
- 头文件中定义全局变量
引言 这些天写的程序中用到了全局变量,一开始是在一个文件下做测试后来把文件按逻辑拆分了一下,不同的代码被放在了几个文件中,最后用Makefile来编译就遇到了今天的话题,怎么在头文件中定义全局变量呢? ...
最新文章
- 一次线上生产问题的全面复盘 【定位-分析-解决】
- 科大星云诗社动态20210910
- 小众的分布式版本管理工具Code Co-op
- RabbitMQ快速安装配置指南
- unity 使用mysql实现登录注册_用mysql实现登录注册功能
- jQuery跨域调用Web API
- vue中组件的data为什么是一个函数
- 使用Node.JS,如何将JSON文件读入(服务器)内存?
- InvalidClassException
- 算法4(一、递归学习)
- 个人通过ipv6地址提供公网访问服务
- php 瀑布流布局,瀑布流布局与无限加载图片相册效果
- luogu P1972 [SDOI2009] HH的项链【莫队——奇偶优化详解】
- 单片机软件设计架构(C语言)
- ACM-ICPC 2018 南京赛区网络预赛 AC Challenge (状态压缩DP)
- 怎样把COFFEEscript 编译成JS
- seo查询工具源码_英文SEO站群建设(下):站群通过自我复制外链获得权重
- mac 强制删除mysql_mac中如何彻底删除MySQL
- 管理类联考历年英语小作文范文
- 硬件原理图中的“英文缩写”大全
热门文章
- 主流机型分辨率尺寸汇总
- Unity_Shader初级篇_8_Unity Shader入门精要
- uniapp利用scheme启动App
- 串口烧录(无仿真器烧录程序)
- 适合前端入门的Go语言开发框架fiber
- Oracle闪回区满(ORA-16014)
- Java程序开发一个窗体有两个按钮,一个是“开始”按钮,一个是“结束”按钮,当用户点击“开始”按钮时就在控制台打印一句话,反之则结束打印。
- 17种家常菜竟是健康杀手
- python单分支结构范例
- uni-app 对FastAdmin微信公众号授权登录实例