Angular Передача интерполированных данных в * ngFor обратно к компоненту - PullRequest
1 голос
/ 01 мая 2020

В настоящее время я перебираю коллекцию Документов, принадлежащих родителю (Политика). Мне нужно получить специфицированное свойство c от элемента, чтобы отправить его на внутренний сервер для обработки.

Когда я использую связанные данные в моих элементах HTML, все работает нормально:

    <tbody>
       <tr *ngFor="let el of policy.documents">

          <td>{{el.year}}</td>
          <td>
             <a href="{{ el.url }}" target="_blank">{{ el.docType }}</a>
          </td>
       </tr>
    </tbody>

Однако, когда я пытаюсь передать один из связанных элементов в функцию (нажатием кнопки), данные не попадают в мой component.ts.

<tbody>
  <tr *ngFor="let el of policy.documents">

    <td>{{el.year}}</td>
    <td>
       <a href="{{ el.url }}" target="_blank">{{ el.docType }}</a>
    </td>
    <td>
        <button class="button btn btn-sm btn-primary" style="min-width: 150px;" 
        (click)="getDocuments(el.url)">View Document</button>
    </td>
  </tr>
</tbody>

component.ts

getDocuments(url){
    this.policyService.getAuthorizedHeader(url).subscribe((res) => {
      this.authHeader = res.toString();
      window.open(this.authUrl, '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes')
    }, error => {
      this.alertify.error("Problem with your search: " + error.errors);
    });;
  }

Есть идеи?

1 Ответ

0 голосов
/ 01 мая 2020

В этом случае я обнаружил, что вышестоящий провайдер изменил имя свойства, которое хранила моя модель (url на refUrl). Как только я обновил свои модели, чтобы захватить переименованное свойство, оно работало, как и ожидалось.

Урок: проверьте источник ваших данных, если все выглядит правильно.

...