【问题标题】:node js express cannot create route in inheritance classnode js express无法在继承类中创建路由
【发布时间】:2016-06-23 09:59:26
【问题描述】:

我有 Controller.js

var Controller = function () {

}
Controller.prototype.getAll = function (req , res) {
    console.log(this.model);
}

module.exports = Controller;

还有 StickerController.js

var Controller = require('./Abstract/Controller');
var util = require('util');

var StickerController  = function () {
    this.model = "StickerModel";
    Controller.apply(this);
};
util.inherits(StickerController, Controller);
module.exports = new StickerController();

在路由器中

var express = require('express');
var router = express.Router();
var StickerController = require('../controllers/StickerController');

router.get('/api/v1/stickers',Sticker.getAll);

它被记录为未定义, 但如果我在路线外打电话,它会被定义。
我观察到从路由调用的函数中的“this”是不同的

【问题讨论】:

    标签: node.js inheritance express routes prototype


    【解决方案1】:

    看起来你已经调用了属性getAll,但你使用的是router.get('/api/v1/stickers', Sticker.all);,尝试将其更改为Sticker.getAll,它应该可以正常工作。

    【讨论】:

    • 其实是写错了,我是这样写的
    猜你喜欢
    • 1970-01-01
    • 2020-03-26
    • 2014-12-09
    • 1970-01-01
    • 2013-08-22
    • 2019-02-19
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    相关资源
    最近更新 更多