我是 javascript 和 vue.js 的新手,在尝试在现有程序中添加新功能时遇到了一些问题。
我已将我的新功能(与其他功能)放在一个单独的文件中:
export const MyFunctions = {
MyFunction: function(param) {
// Doing stuff
}
}
然后我将文件导入组件文件并调用我的函数:
<script>
import {MyFunctions} from "@/components/MyFunctions.js";
export default {
name:"Miniature",
computed: {
useMyFunction() {
MyFunction("Please do some stuff !");
}
}
}
</script>
使用该组件时,我收到一条错误消息
[Vue 警告]:属性或方法“MyFunction”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅: https ://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties。
我已经阅读了很多文档,但不明白为什么它不起作用。谁能帮我这个 ??
原文由 MrFernand 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在导出一个对象,然后为了使用
MyFunction
您需要使用点表示法访问该函数,如下所示:MyFunctions.MyFunction("Please do some stuff !")
我为这个用例做了一个工作示例: https ://codesandbox.io/s/62l1j19rvw
我的函数.js
零件