2017-08-15 42 views
0

這裏的財產是我的代碼ES6類無法讀取該

class ModuleController { 

    constructor() { 
    this.testVar = 'XYZ'; 
    } 

    create(req, res, next) { 
    debug(this.testVar); 
    } 
} 
export default ModuleController; 

我得到Cannot read property 'create' of undefined爲什麼?

這是與Babel和Express - 所有最新版本的節點7。

+0

Java不是JavaScript的。 – GhostCat

+2

取決於如何調用'create'。 –

+0

適合我在http://ideone.com/OntsxO – marvel308

回答

0

對於所有那些有最小知識ES6類和他們的使用,並在這裏出現這種類型的問題... 正如其他人在評論中所說 - 我打電話的方式是錯誤的類方法... 最初我做..

Module = new ModuleController(); 
const router = express.Router(); 
router.route('/').post(Module.create); 

這顯然是錯誤的......正確的做法是: -

Module = new ModuleController(); 
const router = express.Router(); 
router.route('/').post((req, res, next) => Module.create(req, res, next));