Javascript导入函数语法

时间:2017-04-01 14:13:57

标签: javascript

我正在尝试从另一个模块导入一个函数,但在运行时遇到错误:

TypeError: _this.getData is not a function.

data.js

function getData() {
  return [
    { id: 1,
      name: 'Pluto',
      type: 'Dwarf Planet'
    },
    { id: 2,
      name: 'Neptune',
      type: 'Planet'
    }
  ]
}
export { getData }

worker.js

import getData from data.js

this.data = this.getData()

然后在运行中我得到如上所述的浏览器错误。关于我做错的任何想法?

3 个答案:

答案 0 :(得分:3)

将导入更改为命名导入,如下所示:

import { getData } from data.js

或导出getData函数作为默认导出,如下所示:

export default { getData }

答案 1 :(得分:2)

那应该是

import { getData } from data.js

如果没有括号,您可以导入不存在的default导出。

答案 2 :(得分:2)

使用“getData()”时,你应该省略“this”关键字,它不属于当前对象。

function getData() { .... }

export default getData;

import getData from "data.js"

this.data = getData();