myspace
@myspace

При подобном подходе всегда использовать bind?

Такой код кодтроллера, для примера
class Index {

    constructor(title) {
        this.title = title;
    }

     mainPage(req, res, next) {

         let data = {
             title: this.title
         };

        res.render('index', data);

    }

}
module.exports = new Index('Тайтл главной страницы из конструктора контроллера Index');


Когда вызываю в роутере, приходится делать привязку контекста, чтобы получить нужные данные
var index = require('../controllers/index');

router.get('/', index.mainPage.bind(index));

module.exports = router;


Может есть какой то другой способ?
  • Вопрос задан
  • 194 просмотра
Решения вопроса 2
@vintage
Используйте стрелочные функции:

router.get('/', ( ...args )=> index.mainPage( ...args ) );
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
constructor(title) {
    this.title = title;
    this.mainPage = this.mainPage.bind(this);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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