выражение, просмотренное в Chrome Dev Tools, не показывает значение - PullRequest
0 голосов
/ 04 ноября 2019

Я работаю над приложением Angular.

У меня есть этот вопрос. Я помещаю debugger;, потому что я хочу увидеть, что возвращает свойство this.facturas в разделе watch на вкладке source. Но, запустив приложение и остановив его там, где я хочу, глядя на watch, я просто получаю undefined для this.facturas, но дело в том, что оно на самом деле имеет значение: это массив объектов, которыезаполняет строку td's в таблице в моем шаблоне .html.

код .ts:

 this.documentosService.getFacturas(this.requestCuatro).subscribe((data: any) => {
      if (data) {
        if (data.documentos.length == 0 && data.error.codError == 0) {
          swal("Stop! Trolls and Dragons found!");
        } else {
          this.facturas = data.documentos;
          debugger;       
        }

        if (data.error.codError != 0) {
          swal("Warning! Sorry, the old Monarc Elf died :(");
        }
      }
    });

Я хочу иметь возможность видеть, какие значения я получаю обратнос сервера, но я не уверен, как. Я смотрю this.facturas, но я не определен, поэтому я немного кодирую, как будто мои глаза закрыты.

Любая помощь? Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

Два более надежных способа просмотра ответов API:

  1. Регистрация ответа - это выводит значение непосредственно на вкладку Консоль.

    } else {
      this.facturas = data.documentos;
      console.log(this.facturas);       
    }
    
  2. Вместо этого просмотрите вкладку Сеть: запросы сети / API можно наблюдать непосредственно на вкладке Сеть. Найдите поступающий запрос и проверьте тело ответа: https://developers.google.com/web/tools/chrome-devtools/network/reference#response

0 голосов
/ 04 ноября 2019

Попробуйте посмотреть _this.facturas или this_.facturas. Angular передается через JavaScript из машинописного текста, и поскольку вы находитесь внутри функции со стрелкой, свойство this из класса будет сохранено в другой переменной (this_ или _this, теперь не может запомнить), чтобы поддерживать контекст this в вашем коде.

Лично я не использую 'watch' внутри отладчика, но обычно просто смотрю в разделе 'scope'. Там у меня никогда не было проблемы, хотя this не ссылается на правильный контекст. Возможно, вы компилируете без включенных исходных карт.

...