[英]How to access a global function (Vue.prototype.myFn) from another function?
I am on a nuxt.js project and trying to create global functions and I am this error:我在一个 nuxt.js 项目中并尝试创建全局函数,但出现此错误:
Cannot read property '$toggleBodyClass' of undefined
Here is my code (plugins/globals.js):这是我的代码(插件/globals.js):
import Vue from 'vue';
Vue.prototype.$toggleBodyClass = (addRemoveClass, className) => {
const elBody = document.body;
if (addRemoveClass === 'addClass') {
elBody.classList.add(className);
} else {
elBody.classList.remove(className);
}
};
Vue.prototype.$setModalBackdrop = () => {
this.$toggleBodyClass('addClass', 'modal-open'); // ** How to make this work? **
};
This work just fine when I use it in my component (components/myComp.vue):当我在我的组件 (components/myComp.vue) 中使用它时,这工作得很好:
<template>
<div>
<button @click="handelClick">Toggle Class</button>
</div>
</template>
<script>
export default {
methods: {
handleClick() {
this.$toggleBodyClass('addClass', 'modal-open');
},
},
};
</script>
please help, thanks.请帮忙,谢谢。
Just change your code from只需更改您的代码
this.$toggleBodyClass
to至
Vue.prototype.$toggleBodyClass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.