Vue如何定义全局函数

1.在main.js里面直接写函数

Vue.prototype.test = function() {
  console.log('执行全局函数test');
};

组件中调用
this.test()

2.写一个模块文件,挂载到main.js上面

// base.js
exports.install = function(Vue, options) {
  Vue.prototype.text1 = function() {
    console.log('执行成功1');
  };
  Vue.prototype.text2 = function() {
    console.log('执行成功2');
  };
};

main.js入口文件:

import Vue from 'vue'; // vue要在引文件之前
import base from './base.js'; // 引用文件
Vue.use(base); //将全局函数当做插件来进行注册

组件里面调用:

this.text1();
this.text2();
Vue 3 中,你可以使用 `app.config.globalProperties` 来定义全局函数,并且可以在整个应用程序中访问这些函数。 要传递参数给全局函数,你可以使用闭包或者使用一个工厂函数来创建一个带有参数的全局函数。 以下是使用闭包的示例: ```javascript // main.js import { createApp } from 'vue'; import App from './App.vue'; const app = createApp(App); // 定义全局函数 app.config.globalProperties.myGlobalFunction = (param) => { console.log('参数:', param); }; app.mount('#app'); ``` 在应用程序的任何组件中,你都可以直接调用 `myGlobalFunction` 并传递参数: ```javascript // MyComponent.vue export default { mounted() { // 调用全局函数并传递参数 this.$root.myGlobalFunction('Hello'); }, }; ``` 使用工厂函数的示例: ```javascript // main.js import { createApp } from 'vue'; import App from './App.vue'; const app = createApp(App); // 定义带有参数的全局函数的工厂函数 const createMyGlobalFunction = (param) => { return () => { console.log('参数:', param); }; }; // 创建带有参数的全局函数 app.config.globalProperties.myGlobalFunction = createMyGlobalFunction('Hello'); app.mount('#app'); ``` 同样,在应用程序的任何组件中,你可以直接调用 `myGlobalFunction`: ```javascript // MyComponent.vue export default { mounted() { // 调用全局函数 this.$root.myGlobalFunction(); }, }; ``` 这样,你就可以在 Vue 3 中传递参数给全局函数了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值