如何解决“未捕获的TypeError:无法读取未定义的属性'Timestamp'”?

时间:2019-06-22 22:45:48

标签: javascript firebase google-cloud-firestore

嗨,我是Web开发的新手,我正在尝试使用Firestore数据库制作一个Firebase应用程序。我有一个用户注册表格,需要填写该表格的日期。对于日期,我使用了日期选择器,但无法获取所选日期,并将其转换为Firestore时间戳。我尝试了这个,但是我不知道是否正确:
HTML格式:

<input class="datepicker" type="text" id="subscriptionDeadline" placeholder="Subscription Deadline">

JavaScript代码:

  var currentDate = $(".subscriptionDeadline").datepicker("getDate");
  var timeStamp = new firebase.firestore.Timestamp.fromDate(currentDate);

我收到此错误:

  

未捕获的TypeError:无法读取未定义的属性“ Timestamp”

1 个答案:

答案 0 :(得分:1)

您的错误是Cannot read property 'Timestamp' of undefined。在代码中,它正在尝试访问firebase.firestore.Timestamp

错误是说您试图从中读取属性Timestamp的任何内容都是未定义的。您的情况是firebase.firestore。如果您执行console.log(firebase.firestore),它将显示为undefined,这意味着您将无法访问Timestamp属性或其他任何内容。

这听起来像是问题所在,您尚未在页面上正确初始化firestore。确保您已按照以下步骤操作:https://cloud.google.com/firestore/docs/quickstart-mobile-web#set_up_your_development_environment