uniapp如何写全局函数
定义全局函数
在 main.js 文件中定义全局函数,通过 Vue.prototype 挂载到 Vue 实例上。这种方式定义的函数在所有 Vue 组件中可通过 this 调用。

// main.js
Vue.prototype.$globalMethod = function() {
console.log('This is a global method');
}
使用全局函数
在任意 Vue 组件中直接通过 this 调用挂载的全局函数。

// 组件内调用
this.$globalMethod();
模块化封装
将全局函数封装为独立模块,通过 main.js 引入并挂载。这种方式便于维护和复用。
// utils/global.js
export const globalMethod = () => {
console.log('Module-based global method');
};
// main.js
import { globalMethod } from './utils/global';
Vue.prototype.$globalMethod = globalMethod;
全局混入
通过 Vue.mixin 实现全局混入,所有组件将自动继承混入的函数或生命周期钩子。
// main.js
Vue.mixin({
methods: {
mixedInMethod() {
console.log('Method from global mixin');
}
}
});
注意事项
- 全局函数命名建议以
$开头,避免与组件内方法冲突。 - 过度使用全局函数可能导致代码难以维护,建议合理控制数量。
- 对于复杂逻辑,优先考虑模块化封装而非直接挂载到原型。






