Vue.JS 导入自定义模块

时间:2021-03-30 09:02:21

标签: javascript vue.js module vue-component

我创建了一个模块 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’”

如何修复它并能够使用我的成就? 感谢您的帮助!

2 个答案:

答案 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);