vue如何让自定义函数挂到全局

公司打算用VUE,写一个活动模块;小白求解决。

情况如下:
入口:main.js
公用:fun.js

模板:

 App.vue  入口
 list.vue 列表
 show.vue 详细
 

在fun.js中:

function init(){...} //初始化
function ajax(){...} //通用ajax发起
function MsgBox(){...} //错误提示
function MakeToken(){...} //生成token

在main.js中, require(‘./fun.js’); 可执行fun.js;
但当通过vue-router 跳转到 list.vue后 (没有在list.vue中引入fun.js)无法使用fun.js,知道是作用域的问题….

问题:在vue下怎么把fun.js下的方法挂到全局,难道要每个vue都require一次?

回答:

在main.js里进行全局注册

Vue.prototype.ajax = function (){}

在所有组件里可调用

this.ajax

回答:

// xxx.js 组件
exports.install = function (Vue, options) {
    Vue.prototype.ajax = function (){
        alert('aaaaaaa');
    };
};
// main.js 入口
import xxxx from './commons/xxxx'
Vue.use(xxxx);
// ccc.js 子组件
this.ajax();

回答:

Vue.prototype.ajax = function (){

    这里用json.stringify()会提示Uncaught ReferenceError: exports is not defined
};

请问有解决方法吗?

回答:

你们回答的都是 某一个函数挂载到全局如果是多个呢?

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注