Как сохранить в угловой функции возвращаемое значение в переменную

#javascript #angular #typescript

Вопрос:

Я хотел сохранить возвращаемое значение функции в переменной. Я попробовал этот простой пример.

 drawChart(){
     var data = this.prepareData();
}

prepareData() {
    return 1;
}
 

Но я получил сообщение об ошибке:

Не удается прочитать свойства неопределенных (чтение «Подготовленных данных»)

Спасибо вам за любую помощь.

Комментарии:

1. Пожалуйста, предоставьте более подробную информацию. Ваш код выглядит хорошо. Не могли бы вы разделить весь класс?

2. похоже, что вы не в экземпляре объекта. просто удалите это, и это должно сработать

3. Как это drawChart() называется? Судя по сообщению об ошибке, скорее всего, оно используется в качестве обратного вызова.

Ответ №1:

Вы должны вызвать drawChart() метод ngOnInit() .

Таким образом, этот метод получает вызов, и вы можете получить возвращаемое значение из prepareData() метода

Здесь я прикрепляю URL-адрес stackblitz для вашей ссылки : код stackblitz

Надеюсь, это решит вашу проблему.

Ответ №2:

Вам нужно разместить drawChart() и prepareData() вне ngInit(), конструктора() и внутри компонента.

напр. :

 export class YourComponent implements OnInit {

   ngOnInit() {
     this.drawChart();
   }

   drawChart(){
       var data = this.prepareData();
    }

  prepareData() {
     return 1;
  }
 }
 

ключевое слово «this» будет указывать на переменные и функции внутри класса, если вы объявили эти функции внутри функции, это не сработает.