Получение объекта возможно 'null'.в угловом файле шаблона - PullRequest
0 голосов
/ 27 декабря 2018

В моем приложении Angular я получаю следующую ошибку:

Возможно, объект 'null'.

Проблема в том, что я получаю этоошибка не из-за какого-то машинописного кода, а из-за этого HTML-шаблона:

<code>  <form [formGroup]="form">
    <timepicker [formControlName]="'myControl'"></timepicker>
  </form>

  <br>
  <button class="btn btn-succes" (click)="form.get('myControl').enable()">Enable Control</button>
  <button class="btn btn-warning" (click)="form.get('myControl').disable()">Disable Control</button>
  <br><br>

  <pre class="alert alert-info">Time is: {{ form.get('myControl').value }}

1 Ответ

0 голосов
/ 27 декабря 2018

Эта ошибка возникает, когда флаг --strictNullChecks включен и для его решения необходимо проверить, не является ли один объект нулевым, прежде чем обращаться к его свойствам.

Например, в этом случае:

<button (click)="form.get('myControl').enable()"></button>

сначала нам нужно проверить, что объект form не равен нулю, прежде чем вызывать get(...) для него:

<button *ngIf="form" (click)="form.get('myControl').enable()"></button>

альтернативно, можно обернуть несколько элементов html в один <ng-container> чтобы избежать повторения ngIfs:

<code><ng-container *ngIf="form">
  <form [formGroup]="form">
    <timepicker [formControlName]="'myControl'"></timepicker>
  </form>

  <br>
  <button class="btn btn-succes" (click)="form.get('myControl').enable()">Enable Control</button>
  <button class="btn btn-warning" (click)="form.get('myControl').disable()">Disable Control</button>
  <br><br>

  <pre class="alert alert-info">Time is: {{ form.get('myControl').value }}
...