我创建了一个模块 greatings.js 像这样:
function greatings() {
this.hello = function() {
return 'hello!';
}
this.goodbye = function() {
return 'goodbye!';
}
}
module.exports = greatings;
然后我把它导入到 VUE.JS 中的 main.js 就像:
import greatings from './assets/js/greatings';
Vue.use(greatings);
现在我想在我的组件中使用它,但如果我这样做了,我会得到一个错误:
mounted() {
this.greatings.hello();
}
<块引用>
错误:挂载钩子出错:“TypeError:无法读取未定义的属性‘hello’”
如何修复它并能够使用我的成就? 感谢您的帮助!
答案 0 :(得分:1)
使用 Vue.use() 注册自定义插件时,必须定义一个 install() 函数,由 Vue 调用。来自文档:
<块引用>Vue.js 插件应该公开一个安装方法。该方法将使用 Vue 构造函数作为第一个参数以及可能的选项来调用。
查看提供的示例,了解创建自定义插件时的所有选项:https://vuejs.org/v2/guide/plugins.html
答案 1 :(得分:1)
greatings.js 文件应该是这样的
export default {
hello() {
return "hello";
},
goodbye() {
return "goodbye!";
}
};
并导入您想要使用的任何文件
从'./assets/js/greatings'导入greatings;
并调用您想要的任何函数。删除此函数 Vue.use(greatings);