在我的Vue.js应用程序中,我想要一些全局函数。例如,callApi()
函数,每当我需要访问我的数据时,我都可以调用它。
包含这些功能的最佳方法是什么,以便我可以在所有组件中访问它?
答案 0 :(得分:15)
您最好的选择是插件,它允许您向全局vue系统添加功能。
[来自vuejs Docs]
MyPlugin.install = function (Vue, options) {
// 1. add global method or property
Vue.myGlobalMethod = ...
// 2. add a global asset
Vue.directive('my-directive', {})
// 3. add an instance method
Vue.prototype.$myMethod = ...
}
然后你只需添加
Vue.use(MyPlugin)
在调用函数之前,在代码中。
Vue.myGlobalMethod(parameters);
或在你的情况下
Vue.callApi(parameters);
答案 1 :(得分:4)
Mixins也可以在全球注册。 https://vuejs.org/v2/guide/mixins.html#Global-Mixin
答案 2 :(得分:0)
我有一个功能类似于func.js的文件 像下面的
WebpackNotifierPlugin
在main.js中添加2个字符串
export const func = {
functionName: (data) => {
return something
}
}
,并且可以在所有脚本组件中使用(如下面的
所示)import {func} from './func.js'
Vue.prototype.$func = func
或是否使用模板标签
this.$func.functionName(somedata)