es6类无法读取此属性

时间:2017-08-15 16:55:21

标签: node.js ecmascript-6

这是我的代码

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 - 所有最新版本。

1 个答案:

答案 0 :(得分: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));