如何在node.js中的控制器中使用原型继承

时间:2015-07-25 18:29:34

标签: javascript node.js inheritance prototype

我需要让一个Super Function继承其他函数的这个并使其他函数继承Super函数的方法,这可能吗?

说明:

我有BookingController,我想让Controller函数继承this.ME属性:

BookingController.js:

var Controller = require('../api/Controller');

function BookingController() {
 Controller.call(this);
 this.ME = 'something here';
}

BookingController.prototype = new Controller;
BookingController.constructor = BookingController;

Controller.js:

function Controller() {
    console.log(this); // EMPTY
};

Controller.prototype.myMethod = function() {
 // Should work if BookingController try to access.
}

但没有任何反应,没有错误,BookingController无法找到我的myMethod而我的控制器无法解决此问题.ME

1 个答案:

答案 0 :(得分:0)

你使用了一点错误的继承模型。我建议你使用像

这样的东西
BookingController.prototype = Object.create(Controller.prototype);
BookingController.prototype.constructor = BookingController;