0

Есть первый метод, который возвращает значение:

getAnyItem() {
    let anyItem;
    ...
    return anyItem; // возвращает случайное подсчитанное значение
}

Есть переменная, которую я использую как хранилище и её так же вывожу на странице:

data() {
    return {
        anyData: null,
    }
}

И второй метод где я всё использую:

 testMethod() {
      this.anyData = this.getAnyItem();
      items.forEach(function(item,i)  { // Здесь перебираю массив, который приходит с сервера
          //this.anyData = this.getAnyItem(); // Если раскомментировать, то ошибка будет здесь
          console.log(this.anyData); // Здесь уже ошибка "TypeError: this is undefined"           
      }
 }

this.anyData - случайное значение, которое нужно каждый раз пересчитывать при переборе. Вынес его из перебора, чтобы более детально разобраться в моей ошибке.

В итоге я получаю ошибку: "TypeError: this is undefined". Я так понимаю проблема в области видимости? Если да то в чём именно и как её избежать?

Oliver
  • 604
  • @OlmerDale, Решил не акцентировать на нём внимание (items), так как это может быть случайный массив c N'ым кол-вом значений например с 3 или 20 (приходит с сервера) И получается столько же нужно раз подсчитать this.anyData – Oliver Feb 10 '19 at 07:41
  • в 2019 году, уже дефакто нужно использовать стрелочные функции в роли callback'ов. Они контекст сохраняют. – user220409 Feb 10 '19 at 07:47

0 Answers0