我正在使用Angular
开发Web应用程序。将我的应用升级到Angular7
时,日期功能不起作用。它给了我诸如
DateTime.getFullYear不是函数
在升级到Angular7
之前还可以。在package.json中:
"typescript": "^3.1.1", "@angular/cli": "~7.0.2",
"@angular/complier-cli": "~7.0.0".
这是怎么回事?
答案 0 :(得分:0)
请记住,下次您发布问题以粘贴与您的错误相关的代码时,以便其他人查看,因为相同的错误可能源于不同的代码。
将ng6应用程序升级到ng7之后,我的DateTime.getFullYear可以正常工作,直到我对其进行了更改,并且突然出现了相同的错误。一切似乎都很好。
像下面那样检查我的日期对象,返回了一个应有的对象
dateFunction(longdate) {
console.log(typeof(longDate)) // This returned 'object' which is correct
longDate.getFullYear() // Would get the same error here
}
因此,我尝试将一个新的日期对象传递给该函数,而不是像这样通过参数传递:
dateFunction() {
longDate = new Date();
console.log(typeof(longDate)); // This returned 'object' which is correct
longDate.getFullYear(); // This worked fine now
}
这会很好,所以我意识到不是我的getFullYear()函数出错,而是我的参数损坏了。
但是这是一个奇怪的部分,所以我去了父组件,并在那里做了同样的事情-我删除了旧代码,并重新编写了longDate = new Date()
并将其发送到我的函数中,突然之间工作。完全相同的代码,但我只是重新编写了它。
尝试在函数之前创建一个新日期,将其传递并查看是否有效。如果有效,则不是您的函数而是损坏的旧date
变量。
PS:我只是觉得我不得不说,在创建初始日期变量时必须使用new
关键字(请参见上面的示例),否则它还会产生错误...