Mat*_*old 7 javascript momentjs typescript
为什么momentjs isSameOrBefore
和isSameOrAfter
函数不适用于哪些isBefore
和适用的数据isAfter
?
以下是一些非常简单的孤立示例,其中isSameOrBefore
和isSameOrAfter
不起作用:
moment("2018-10-12 10:44:01").isSameOrBefore(moment("2018-10-12 10:44:00"))
TypeError: moment(...).isSameOrBefore is not a function [Learn More]
moment("2018-10-12 10:44:01").isSameOrAfter(moment("2018-10-12 10:44:02"))
TypeError: moment(...).isSameOrAfter is not a function [Learn More]
Run Code Online (Sandbox Code Playgroud)
但是使用相同类型的数据,isBefore
并且isAfter
工作正常:
moment("2018-10-12 10:44:01").isBefore(moment("2018-10-12 10:44:00"))
false
moment("2018-10-12 10:44:01").isAfter(moment("2018-10-12 10:44:02"))
false
moment("2018-10-12 10:44:00").isBefore(moment("2018-10-12 10:44:01"))
true
moment("2018-10-12 10:44:02").isAfter(moment("2018-10-12 10:44:01"))
true
Run Code Online (Sandbox Code Playgroud)
对此我的解决方案是更新到 Moment.js 的 2.23.0 版。我被我的moment.d.ts
文件误导了,不知什么原因,我的文件是 Moment.js 的 2.11.1 版,而不是我安装的版本(2.9.0 版)。
更新后,请务必检查浏览器的调试器文件资源管理器中的 moment.js 文件并验证它是否与您项目中的文件匹配 - 如果不匹配,至少在 Firefox/Waterfox 中,请尝试重新启动浏览器然后在您遇到问题的项目页面上按 Ctrl + F5 。
这对我来说是一个教训,不要太相信 TypeScript 的类型安全!
归档时间: |
|
查看次数: |
9707 次 |
最近记录: |