当前位置:首页 > uni-app

uniapp如何写全局函数

2026-01-13 19:46:55uni-app

全局函数的定义与使用

在UniApp中定义全局函数可以通过挂载到Vue.prototype或使用模块化导出导入的方式实现。以下是两种常用方法:

方法一:挂载到Vue.prototype

main.js中定义全局函数并挂载到Vue原型链上,所有页面和组件可通过this调用。

uniapp如何写全局函数

// main.js
import Vue from 'vue'

Vue.prototype.$globalFunc = function(params) {
  console.log('全局函数调用,参数:', params)
  // 函数逻辑
}

组件中使用:

export default {
  methods: {
    callGlobalFunc() {
      this.$globalFunc('测试参数')
    }
  }
}

方法二:模块化导出与导入

将函数封装为独立模块,通过import引入使用。

uniapp如何写全局函数

1. 创建全局函数文件

// utils/globalFunctions.js
export function globalFuncA(params) {
  return `处理结果: ${params}`
}

export function globalFuncB() {
  // 函数逻辑
}

2. 组件中按需引入

import { globalFuncA } from '@/utils/globalFunctions.js'

export default {
  methods: {
    useFunc() {
      const result = globalFuncA('参数')
      console.log(result)
    }
  }
}

注意事项

  • 命名规范:挂载到Vue.prototype的函数建议以$开头(如$func),避免与组件属性冲突。
  • this绑定:若函数内需访问组件实例,使用普通函数而非箭头函数。
  • TypeScript支持:若使用TS,需扩展Vue类型声明(在src/shims-vue.d.ts中):
    declare module 'vue/types/vue' {
      interface Vue {
        $globalFunc: (params: any) => void
      }
    }

适用场景对比

方式 优点 缺点
Vue.prototype 调用方便,直接通过this访问 可能污染Vue原型链
模块化 按需导入,代码组织清晰 每次使用时需显式引入

标签: 全局函数
分享给朋友:

相关文章

vue实现全局遮罩层

vue实现全局遮罩层

实现全局遮罩层的方法 在Vue中实现全局遮罩层可以通过多种方式完成,以下是几种常见的实现方法: 使用Vue组件创建遮罩层 创建一个遮罩层组件,通过全局注册或动态挂载的方式实现全局调用。以下是一个简单…

vue  全局刷新实现

vue 全局刷新实现

全局刷新实现方法 在Vue中实现全局刷新通常涉及重新加载整个应用或特定路由。以下是几种常见方法: 使用window.location.reload() 强制浏览器重新加载当前页面: window.…

Vue函数实现

Vue函数实现

在Vue中实现函数可以通过多种方式,具体取决于使用场景(选项式API、组合式API或生命周期钩子)。以下是常见方法: 方法1:选项式API中的methods 在Vue 2或选项式API中,函数通常定…

jquery 函数

jquery 函数

jQuery 函数基础 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能简化 DOM 操作、事件处理、动画等。核心函数 $() 或 jQuery()…

jquery函数

jquery函数

jQuery 函数概述 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能,简化 DOM 操作、事件处理、动画和 AJAX 等任务。其核心函数 $()…