在uni-app中,可以通过在main.js文件中定义全局变量来实现所有页面共享的全局变量。\n\n在main.js中,可以使用Vue.prototype来定义全局变量。例如:\n\njavascript\nimport Vue from 'vue'\nimport App from './App'\n\nVue.prototype.$globalData = {\n userInfo: null,\n token: ''\n}\n\nconst app = new Vue({\n ...App\n})\napp.$mount()\n\n\n在上述代码中,我们定义了一个全局变量$globalData,并初始化了userInfo和token。在其他页面中,可以通过this.$globalData来访问和修改这些全局变量。例如:\n\njavascript\nexport default {\n created() {\n console.log(this.$globalData.userInfo)\n this.$globalData.token = 'abc123'\n }\n}\n\n\n以上代码中,我们在created生命周期函数中访问了$globalData.userInfo,并将$globalData.token修改为'abc123'。\n\n需要注意的是,通过Vue.prototype定义的全局变量是响应式的,意味着当全局变量发生变化时,页面中使用该全局变量的地方也会自动更新。但是,如果全局变量是对象或数组,需要使用Vue.set或this.$set来修改对象或数组的属性才能触发更新,例如:\n\njavascript\nexport default {\n created() {\n this.$set(this.$globalData.userInfo, 'name', 'John')\n }\n}\n\n\n以上代码中,我们使用this.$set方法向$globalData.userInfo对象中添加了一个name属性,并赋值为'John'。这样,页面中使用$globalData.userInfo.name的地方会自动更新为'John'。

Uni-App 全局变量共享:在所有页面中使用公共数据

原文地址: https://www.cveoy.top/t/topic/pyKj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录