Javascript 如何从另一个函数访问全局函数(Vue.prototype.myFn)?

Javascript 如何从另一个函数访问全局函数(Vue.prototype.myFn)?,javascript,vue.js,vuejs2,nuxt.js,Javascript,Vue.js,Vuejs2,Nuxt.js,我在一个nuxt.js项目中,试图创建全局函数,我发现以下错误: Cannot read property '$toggleBodyClass' of undefined 这是我的代码(plugins/globals.js): 当我在我的组件(components/mycop.vue)中使用它时,这项工作非常好: 切换类 导出默认值{ 方法:{ handleClick(){ 这是。$toggleBodyClass('addClass','modal open'); }, }, }; 请帮忙

我在一个nuxt.js项目中,试图创建全局函数,我发现以下错误:

Cannot read property '$toggleBodyClass' of undefined
这是我的代码(plugins/globals.js):

当我在我的组件(components/mycop.vue)中使用它时,这项工作非常好:


切换类
导出默认值{
方法:{
handleClick(){
这是。$toggleBodyClass('addClass','modal open');
},
},
};

请帮忙,谢谢。

只需从

this.$toggleBodyClass


在nuxt中,您还可以使用inject函数从上下文、vuex存储等访问它


你试过
Vue.prototype.$toggleBodyClass
而不是
这个。$toggleBodyClass
?@SamiHult哇!这很管用:)谢谢。你能加上这个作为答案吗?我会把它标为接受的。
<template>
  <div>
    <button @click="handelClick">Toggle Class</button>
  </div>
</template>

<script>
export default {
  methods: {
    handleClick() {
      this.$toggleBodyClass('addClass', 'modal-open');
    },
  },
};
</script>
this.$toggleBodyClass
Vue.prototype.$toggleBodyClass
export default ({ app }, inject) => {
  inject('myInjectedFunction', (string) => console.log('That was easy!', string))
}