2016-12-20 61 views
1

如何在ES2015中使用枚舉?我嘗試以下,但我得到的錯誤:在ES2015中使用枚舉

創造了我的枚舉一個文件,即errorTypes.js

export const Types = { 
    MISSING_DATA: 0, 
    INVALID_DATA: 1 
} 

然後我試圖導入到這一點我的陣營組件,並使用它,如下所示:

import errorTypes from '../enums/errorTypes'; 

handleOnClick(event) { 

    // Some logic here 
    const newError = {type: errorTypes.INVALID_DATA, message: "Please type carefully!"}; 

} 

我得到的錯誤是

Uncaught TypeError: Cannot read property 'INVALID_DATA' of undefined

+1

'Types'!='errorTypes' – Barmar

回答

5

您沒有導入或導出數據心病rectly。您正在嘗試從模塊導入默認導出,但由於模塊沒有默認導出,因此出現錯誤,因此errorTypes最終爲undefined

既可以使用默認的導出:

export default { 
    MISSING_DATA: 0, 
    INVALID_DATA: 1, 
}; 

或者使用一個名爲導入:

import {Types} from '...'; 

瞭解關於MDN更多importexport