uniapp全局参数
时间: 2025-01-07 10:02:47 浏览: 6
### 设置和使用全局参数
#### 使用 `globalData` 实现全局变量
在 UniApp 中,可以通过 `App.vue` 文件中的 `globalData` 来定义全局变量。这允许在整个应用的不同页面之间共享数据。
```javascript
// App.vue
export default {
onLaunch: function () {
this.globalData = {
userInfo: null,
token: ''
}
},
globalData: {}
}
```
要访问这些全局变量,在任何页面或组件中都可以通过调用 `getApp()` 获取当前的应用实例并读取其上的 `globalData` 属性[^1]。
```javascript
const appInstance = getApp();
console.log(appInstance.globalData.userInfo);
```
#### 利用 `Vue.prototype` 添加自定义属性作为全局变量
另一种方法是在项目的入口文件 `main.js` 中扩展 `Vue.prototype`,从而创建可在所有 Vue 组件内直接使用的全局属性。
```javascript
import Vue from 'vue';
Vue.prototype.$globalVar = 'some global value';
// 或者更复杂的数据结构也可以被赋值给 $globalVar
Vue.prototype.$config = {
apiUrl: "https://example.com/api",
version: "v1"
};
```
当需要在一个组件内部使用这个全局变量时,只需像下面这样即可:
```javascript
export default {
mounted() {
console.log(this.$globalVar); // 输出 'some global value'
console.log(this.$config.apiUrl); // 访问 API URL 配置项
}
}
```
这两种方式各有优缺点:前者更适合于那些确实属于整个应用程序状态的一部分的信息;而后者则更加灵活,适合用于一些工具函数或者常量等不需要响应式的静态资源[^5]。
阅读全文