欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Vue项目中定义全局方法

程序员文章站 2022-03-31 21:10:41
...

原因:

有時候我們在vue項目的不同組件中要执行同一個方法获取一些想要的数据,如果在每个组件中都写同一个方法就会增加每个组件中的代码量,所以可以定义全局的方法,在不同的组件中调用

1.方法一 :

在入口文件(main.js)中,直接Vue.prototype上面定义,先看一下代码

Vue.prototype.sayWhat= function(something){
    console.log(`say:${something}`)
}

原理:
因为Vue实质上就是一个对象。大多数对象都会存在原型对象,在Vue原型上添加了方法之后,new Vue()实例化时vm就继承了该方法。因为其他组件也会继承vm所以所有的组件都可以调用该方法

2.方法二:

创建一个js文件(我这里创建的名字为commonFUN.js),在js文件中创建方法(代码例子如下),然后再入口文件(main.js)中挂载一下
以下是创建的js文件代码例子

const data = {
    sayWhat(what) {
        return what
}
const install = function (vm, options) {//插件必须有这样一个install方法。
    vm.prototype.CommonFun = data;
}
export default { install }

在main.js中挂载(注意导入的js文件路径)
在Vue项目中定义全局方法
最后调用

this.CommonFun.VerifyPhoneNumber('hello')
相关标签: vue