Javascript 导入函数语法

Don*_*the 4 javascript

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

TypeError: _this.getData is not a function.
Run Code Online (Sandbox Code Playgroud)

数据.js

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

工人.js

import getData from data.js

this.data = this.getData()
Run Code Online (Sandbox Code Playgroud)

然后在运行时,我收到了上面提到的浏览器错误。关于我做错了什么的任何想法?

Jos*_*eph 6

那应该是

import { getData } from data.js
Run Code Online (Sandbox Code Playgroud)

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


DNM*_*DNM 5

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

function getData() { .... }

export default getData;

import getData from "data.js"

this.data = getData();
Run Code Online (Sandbox Code Playgroud)