У меня есть объект данных obj
с несколькими параметрами:
export interface obj {
param1: number;
param2: number;
param3: number;
}
Я хотел бы динамически добавить mat-grid-tiles
с mat-form-fields
, отображающим их значение.
Я делаю это, создавая массив имен параметров:
params = ['param1', 'param2', 'param3']
Затем в своем коде HTML я использую мой mat-grid-tiles
с *ngFor
в именах параметров а затем назначьте ссылку на мой obj
в [ngModel]
:
<mat-grid-tile [colspan]=1 *ngFor="let param of params">
<mat-form-field>
<input matInput [ngModel]="coilData[params]" readonly>
</mat-form-field>
</mat-grid-tile>
Это работает! Однако , поскольку мой obj
изначально равен нулю, пока не выполнен вызов API, кажется, что он выдает сотни нулевых ошибок, например:
ERROR TypeError: Cannot read property 'param1' of null
Я понял, что могу просто использовать Оператор Элвиса: ?
, однако я не могу понять, как использовать это на [ngModel]
, когда я динамически назначаю ему имена параметров следующим образом: [ngModel]="obj[param]"
вместо обычного [ngModel]="obj?.param1
.
Можно ли использовать оператор Элвиса при динамическом применении имен параметров к ngModel?