vue 封装全局函数和全局变量

在开发项目的过程中,有些函数的使用频率很高,每个页面都写的话太繁琐,可以将其封装成全局函数传参使用。

有些变量比如图片的路径(接口返回的  /***/***/.jpg),没有http://的部分,需要自己拼接,且后期需要修改http://部分,去一个一个修改肯定不现实,因此需要单独封装,方便后期修改。

 1、在src文件夹下新建utils文件夹,新建globalfunc.js和globalvar.js文件

封装全局函数

在globalfunc.js文件,多个函数之间用 逗号 隔开;

方法一:

export default {
    fun1(val){
        alert(val,'可传参')
    },
    fun2(){
        return 'fun2不用传参!!!'
    }
}

方法二:

const fun1=(val)=>{
    alert(val,'可传参')
};
const fun2=()=>{
    return 'fun2不用传参!!!'
};
const fun3=(val=333)=>{
    return 'fun3'+val;
};

export default {
    fun1,fun2,fun3
}

在main.js中引入并注册

import globalfunc from './utils/globalfunc'
//注册全局函数
Vue.prototype.globalfunc=globalfunc;

在vue文件中使用

<template>
  <div class="about">
    {{ globalfunc.fun2()}}<!-- 全局函数--不需要传参的 -->
  </div>
</template>
<script>
export default {
  created() {
    this.globalfunc.fun1("传参666"); /* <!-- 全局函数--需要传参的 --> */
  },
};
</script>

封装全局变量

方法一:

在globalvar.js文件,多个变量之间用 逗号 隔开;

const BASEURL ='http://11.22.33.10';
const NAME ='上杉绘梨衣';
export default{
    BASEURL,NAME
}

在main.js中引入并注册

import globalvar from './utils/globalvar'
//注册全局变量
Vue.prototype.globalvar=globalvar;

方法二:

export default{
    install(Vue){
        Vue.prototype.globalvar={
            CONTENT:"全局变量",
            AGE:18
        }
    }
}

在main.js中引入并注册

import globalvar from './utils/globalvar'
//注册全局变量
Vue.use(globalvar)

在vue文件中使用

<template>
  <div class="about">
    {{ globalvar.NAME }}<!-- 全局变量 -->
  </div>
</template>
<script>
export default {
  created() {
    console.log(this.globalvar.NAME); /* 全局变量 */
  },
};
</script>

Vue2中,你可以将全局JavaScript代码封装在一个单独的文件中,并在整个应用中使用它。这样做的好处是可以避免代码重复,提高代码的可维护性和复用性。 下面是一个示例,展示如何在Vue2中全局封装一个JavaScript文件: 1. 创建一个新的JavaScript文件,比如 `global.js`,并将其放置在你的项目中合适的位置。 2. 在 `global.js` 文件中,定义你想要全局使用的函数、变量或者其他代码逻辑。例如: ```javascript // global.js // 示例函数 function sayHello() { console.log('Hello from global.js'); } // 示例变量 const message = 'This is a global message'; ``` 3. 在你的Vue应用中,通过在主入口文件(比如 `main.js`)中引入该 `global.js` 文件,将其注册为全局对象。例如: ```javascript // main.js import Vue from 'vue'; import App from './App.vue'; import './global'; // 引入全局文件 Vue.config.productionTip = false; new Vue({ render: h => h(App), }).$mount('#app'); ``` 4. 现在,你可以在整个Vue应用中使用 `global.js` 中定义的函数、变量等。例如,在任何组件中调用 `sayHello()` 函数或者访问 `message` 变量: ```javascript // MyComponent.vue export default { mounted() { sayHello(); // 调用全局函数 console.log(message); // 访问全局变量 } } ``` 这样,你就成功地将一个JavaScript文件在Vue2中全局封装了起来。请注意,这种方式可能会导致命名冲突,因此请确保你的全局函数、变量名的唯一性,或者使用命名空间来避免冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值