我是TypeScript和AngularJS的新手,我正在尝试从我的API转换日期,例如:
"8/22/2015"
…到ISO日期.将日期正确反序列化为Date类型的TypeScript属性.但是,当我尝试以下命令时(在typescript中,this.dateDisplay的类型为string)
this.dateDisplay = formats.dateTimeValue.toISOString();
我收到错误:
TypeError: formats.dateTimeValue.toISOString is not a function
at dataFormatsTests.js:42
at processQueue (angular.js:14567)
at angular.js:14583
at Scope.$get.Scope.$eval (angular.js:15846)
at Scope.$get.Scope.$digest (angular.js:15657)
at Scope.$get.Scope.$apply (angular.js:15951)
at done (angular.js:10364)
at completeRequest (angular.js:10536)
at XMLHttpRequest.requestLoaded (angular.js:10477)
我也去过this site,它说我的浏览器支持toISOString函数.
所以,我的问题是:为什么我的浏览器,或角度,或其他什么不识别toISOString函数?
解决方法:
尽管dateTimeValue在TypeScript中被定义为Date,但它在运行时被实例化为字符串,因为它是从API中提取的.因此,TypeScript编译得很好,但是当javascript运行时,它看到.toISOString()是针对字符串而不是Date调用的.
原文地址:https://codeday.me/bug/20190724/1527060.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。