Как дать атрибуту класса значения req.body? - PullRequest
1 голос
/ 10 октября 2019

У меня есть класс, который является контроллером, который выполняет метод, когда он вызывается из маршрута, и я пытаюсь дать свой атрибут dataStore в методе list (определяя его любого типа, потому что я не знаю, чтодругой тип, который он мог бы поставить), объект, который теоретически должен дать мне req.body.¿?

Это пишется машинописным шрифтом, а запросы отправляются через почтальона.

class RentController{
    private dataStore:any; 

    public search(req:Request, res:Response){
        this.dataStore= req.body; 
        res.send(this.dataStore);
    }
}

Вот что я отправил почтальоном Вот что я получил от почтальона

Ошибка, которая выдает меня:

TypeError: Невозможно установить свойство 'dataStore' из неопределенного

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Компилятор смущен использованием this. Убедитесь, что вы говорите RentController.dataStore = req.body;, предполагая, что вы пытаетесь присвоить req.body атрибуту dataStore RentController.

По сути, избегайте использования this в этой ситуации, это делает вещи болеесложный. Если вы пытаетесь использовать параметр, используйте req.dataStore или res.dataStore, но старайтесь избегать использования this.

0 голосов
/ 10 октября 2019

Вы не инициализируете своих учеников каким-либо значением по умолчанию. Вот почему его значение по умолчанию не определено.

попробуйте присвоить любое значение по умолчанию, затем проверьте свой результат, вы получите это значение.

class RentController{
    private dataStore:any = {value: 1}; 

    public search(req:Request, res:Response){
        this.dataStore= req.body; 
        res.send(this.dataStore);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...