#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» будет указывать на переменные и функции внутри класса, если вы объявили эти функции внутри функции, это не сработает.