Я использую Angular 9.1.3 и Primeng 9.1.2, и у меня нет доступа к некоторым данным.
Я использую таблицу primeng (также известную как turbotable), и у меня есть ngForOf для доступа некоторые данные. Вот код html:
<p-table [value]="sensors" dataKey="serial_number">
<ng-template pTemplate="header" ngFor let-bearing [ngForOf]="bearings" let-i="index" let-first="first">
<tr *ngIf='bearing !== null'>
<th>{{bearing}}</th>
<th></th>
<th>
{{'TCW.SHARED.SN' | translate}}
</th>
<th>
<div class="d-flex justify-content-center align-rowDatas-center">
<span translate="TCW.SHARED.BEARING_NAME" [translateParams]="{value: bearing.setpoint}"
class="text-ellipsis d-inline-block" style="max-width: calc(100% - 19px)"></span>
<span class="fa fa-info-circle position-relative top-minus-1px"
[pTooltip]="bearing | bearingConfig" [escape]="false" tooltipPosition="bottom"></span>
</div>
<div class="position-relative">
<p-progressBar [value]="bearing.progress" [showValue]="false"></p-progressBar>
<div class="remaining-time" *ngIf="!bearing.isEnded"
[ngClass]="{'reverse': bearing.progress <= 49}">
<span
class="fa fa-hourglass-half x0-8"></span> <span>{{bearing.remainingS | humanDuration}}</span>
</div>
</div>
</th>
</tr>
</ng-template>
Но когда я обслуживаю свое приложение, у меня возникает эта ошибка: ERROR TypeError: Cannot read property 'setpoint' of undefined
Я вижу с помощью некоторого console.log (), что моя переменная подшипников не защищена, когда метод конструктора моего .ts - это call. Но в OnInit подшипники работают хорошо.
У меня такой же код работает в angular 5 с датируемым Primeng.
У вас есть идея, почему здесь не сработало?
Спасибо.