2017-04-01 4 views
0

インポート機能の構文: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() 

その後、上記のようにブラウザのエラーが表示されます。私が間違ってやっていることについてのアイデアはありますか?あなたが存在しないdefault輸出を輸入している括弧なし

import { getData } from data.js 

、あるべき

+0

グーグル - > "ES6インポート構文" - > 1。結果:[MDN:インポート](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/ import) – Andreas

+0

とにかく 'this'ではなく' getData'です。モジュールスコープに 'this'はありません。 – Bergi

答えて

2

あなたが使用して「この」キーワード "を省略しなければなりませんgetData() "は現在のオブジェクトに属していません。

function getData() { .... } 

export default getData; 

import getData from "data.js" 

this.data = getData(); 
2
このような名前のインポートとしてインポート変更

:このようなデフォルトのエクスポートとして

import { getData } from data.js 

またはエクスポートgetData機能を:

export default { getData } 
関連する問題