Я создаю компонент календаря, который создает календарь (представление месяца) для заданной даты. Я создал настраиваемый шаблон ng для передачи в элемент управления календаря, чтобы я мог вводить настраиваемый контент для каждого дня в календаре на основе данных, возвращаемых из вызова службы. Вот мой код:
<section class="calendar-container" *ngIf="inventoryService.InventoryAvailableListStream | async; let InventoryList">
<app-calendar [dayTemplate]="myCustomDayTemplate"></app-calendar>
<ng-template #myCustomDayTemplate let-day="day">
<span class="inventory-level" [ngClass]="{'no-inventory': (getValueByDay(InventoryList, day) === 0)}">
{{getValueByDay(InventoryList, day)}}
</span>
</ng-template>
</section>
У меня есть раздел, который отображается после того, как мой поток inventoryService заполняется значениями с сервера в переменную с именем «InventoryList». В моем пользовательском шаблоне ng (#myCustomDayTemplate) я передаю в этот шаблон переменную «день» на основе обработки в календаре приложения. Внутри своего пользовательского шаблона я вызываю метод getValueByDay, который просматривает InventoryList за данный день и выдает подсчет запасов. Все это работает, но мне нужно иметь возможность изменить стиль значения инвентаря, отображаемого в пользовательском интерфейсе, если значение инвентаря равно 0.
Я могу добиться этого, дважды вызвав getValueByDay (один раз, чтобы отобразить значение в пользовательском интерфейсе, и один раз, чтобы определить ngClass «нет инвентаря»). Можно ли один раз вызвать getValueByDay и поместить ответ в переменную, а затем использовать эту переменную в пользовательском интерфейсе, а также определить ngClass «без инвентаризации»?
Спасибо за вашу помощь.
getValueByDay
в свой файл ts - person Aravind   schedule 13.12.2017