gleber1
@gleber1

Как вызвать динамический метод в дочернем классе?

Чтобы у потомка вызвался родительский метод класса
Вот пример родителя и потомка
function MainController () {
    this.model = 'Main';
}
MainController.prototype = {
    constructor: MainController,
    findAll: function (req, res) {
        this.model.find({}, function (err, res) {
            if (err)  res.json({"findAll": err});
            res.json(res);
        });
    },
    findById: function (req, res) {
        var id = new ObjectID(req.params.id);
        this.model.findById(id, function (err, res) {
            if (err)  res.json({"findById": err});
            res.json(res);
        })
    },
    create: function (req, res) {
        var saver = new this.model(req.body);
        saver.save(function (err, res) {
            if (err) throw  err;
            res.json({create: 'yes'});
        });
    },
    update: function (req, res) {

    }
};

module.exports = MainController;

// дочерний
var util = require('util');
var User = require('../models/user').User;
ObjectID = require('mongodb').ObjectID;
var MainController = require('./parent/index')();

var UserController = function () {
    this.model = User;
};

UserController.prototype = {
    prototype: UserController,
    checkAuth: function (req, res, next) {
        if (req.session.user) {
            res.json({login: req.session.user});
        } else {
            next();
        }
    },
    login: function (req, res, next) {
        var mail = req.body.mail;
        var password = req.body.password;
        User.autorize(mail, password, function (err, result, user) {
            if (result.login == 'yes') {
                req.session.user = user._id;
                res.json(result);
            }
            else {
                res.json({login: "no"});
            }
        }
        )
    }
};

util.inherits(UserController, MainController);
module.exports = UserController;
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Что значит «динамический метод»?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы