#angular #firebase #google-cloud-firestore
#angular #firebase #google-облако-firestore
Вопрос:
У меня есть следующее поле в Firestore:
Когда я пытаюсь получить ее в своем приложении, например:
<p>{{ fechaInicio | date }}</p>
Получаем следующую ошибку:
ОШИБКА Ошибка: InvalidPipeArgument: ‘Не удается преобразовать «Временную метку (секунды = 1553230800, наносекунды = 0)» в дату» для канала «DatePipe»
затем я увидел, что добавление toDate()
предположительно устраняет проблему:
<p>{{ fechaInicio.toDate() | date }}</p>
Это показывает дату правильно, однако я получаю следующую ошибку:
ОШИБКА TypeError: не удается прочитать свойство ‘ToDate’ неопределенного
Как я могу это решить?
Комментарии:
1. загружается ли переменная fechaInicio асинхронно?
2. Да, асинхронно
Ответ №1:
Похоже, что переменная ‘fechaInicio’ загружается асинхронно. Если это так, ‘fechaInicio’ остается неопределенным, пока он не будет обновлен. Следовательно, что вы можете сделать, так это скрыть html-абзац до тех пор, пока данные не будут загружены в переменную.
Попробуйте следующую модификацию.
<p *ngIf="fechaInicio">{{ fechaInicio.toDate() | date }}</p>
Комментарии:
1. Спасибо, это сработало!. Объяснение очень интересное.
Ответ №2:
Просто поставьте ?
после fechaInicio
такого:
<p>{{ fechaInicio?.toDate() | date }}</p>