在使用 uniapp 开发小程序的时候, 发现使用了setup 语法糖 ,定义 globalData 时,要不是定义不了, 要不就是使用 getApp()取不到,后来想到一个不伦不类的方法解决了, 这个方法有点难看, 但是解决了问题
方法一
思想就是, setup语法糖和 vue2的语法混合使用,有点不规范,所以说它难看
本人测试,编辑也是通过了的,在子文件中可以使用 getApp().globalData.huang 来修改和获取属性
方法二 我感觉这种方法可以接受(纯Vue3来解决)
首先我们看一下 uniapp对 app.vue 的介绍
上图中的重点, App.vue是所有页面的父组件, template 无效,但是 数据和 css样式是可以有效的
既然App.vue是所有页面的父组件, 其它所有页面都是它的子组件, 那我们使用vue3 的
project 和 inject 就可以解决问题了,
其实 小程序的 globalData 说白了就是一个全局的变量, 就算没有想到上面的方法, 我们最终也可以去使用 vuex 或者是 pinia 来代替它