Я получаю исключение, когда пытаюсь получить доступ к файлу firebase.firestore.Timestamp (trialEnds) для документа, используя:
<ng-container *ngIf="account$ | async as account;">
// Listing out other account info works fine here...
// Then an exception on trialEnds access
<span *ngIf="account.trialEnds != null">
{{account.trialEnds.toDate() | date: 'M/d/yyyy'}})
</span>
Полученное исключение выглядит так:
core. js: 3828 ОШИБКА TypeError: account_r9062.trialEnds.toDate не является функцией в HeaderComponent_ng_container_14_ng_container_1_span_5_Template (header.component. html: 38) в executeTemplate (ядро. * 1023) 7: обновление (ядро. * 1023) 7 js: 7362) в refreshDynamicEmbeddedViews (ядро. js: 8428) в refreshView (ядро. js: 7382) в refreshDynamicEmbeddedViews (ядро. js: 8428) в refreshView (ядро. js: 7382) в refreshDynamicEmbeddedViews (core. js: 8428) в refreshView (core. js: 7382) в refreshComponent (core. js: 8492)
Вот как я настраиваю данные в моем компоненте:
var trialDays = 14
var trialEndDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + trialDays)
var trialEnds = firebase.firestore.Timestamp.fromDate(trialEndDate)
var account: Account = {
...
trialEnds: trialEnds
}
Данные хорошо отображаются в консоли Firestore, но странная часть заключается в том, что если я обновлю их в консоли БЕЗ изменения данных вообще, я смогу прочитать их просто отлично. Буквально нет разницы между установленным в программе значением и обновленным вручную значением в документе:
Он также вызывает исключение для других вызовов, таких как toMillis также. Что происходит?