vue.js - 如何在 Vue 和 Pug 中从字符串日期类型转换日期?
问题描述
我有这个 pug 文件,我想将系统日期与使用 VueJs 的对象中的日期进行比较。
这就是我所拥有的。我已经使用div #{new Date()}
输出的这条线打印了系统日期Mon Oct 18 2021 10:46:39 GMT+0800 (Malaysia Time)
我还使用这个div {{event.details.meta.date}}
输出的 vue 语法打印了日期2021-10-17
问题是如何将此日期从字符串转换为数据类型,然后将其与系统日期进行比较?
我试过了,div #{new Date("event.details.meta.date")}
但输出是Invalid date
我试过div(v-if="isEventActive(event.details.meta.date)")
和
computed: {
isEventActive(_eventDate) {
var eventDate = new Date(_eventDate);
return new Date() < eventDate;
},
}
但它说isEventActive is not a function
解决方案
div #{new Date("event.details.meta.date")}
输出Invalid date
,因为字符串不是构造函数"event.details.meta.date"
的有效值。Date()
div #{new Date(event.details.meta.date)}
另一方面,应该输出类似的内容,Mon Oct 17 2021 08:00:00 GMT+0800 (Malaysia Time)
因为您正在将 的值(event.details.meta.date
显然是'2021-10-17'
)传递给Date()
构造函数。
div(v-if="isEventActive(event.details.meta.date)")
输出<div v-if="isEventActive(event.details.meta.date)"></div>
。
你可能想要这个:<div v-if="isEventActive('2021-10-17')"></div>
. 然后在您的isEventActive
方法中,_eventDate
参数的值将是'2021-10-17'
. (可能;我不熟悉 Vue。)
所以你可以试试这个:
// Input (Vue):
div(v-if=`isEventActive('${event.details.meta.date}')`)
// Output (HTML):
<div v-if="isEventActive('2021-10-17')"></div>
相同但没有模板文字:
// Input (Vue):
div(v-if="isEventActive('" + event.details.meta.date + "')")
// Output (HTML):
<div v-if="isEventActive('2021-10-17')"></div>
推荐阅读
- node.js - 我收到'TypeError:无法读取未定义的属性'数据''
- arm - PCIe 总线上的写入是原子的吗?
- python - 如何使用 python 从 web 抓取创建 pandas 数据框
- android - 如何从 PlayStore/AppStore 获取应用程序最新版本反应原生
- ios - 如何在不丢失 exif 数据的情况下将 UIImage 转换为 JPEG?
- r - 错误消息:loadNamespace(name): 没有名为 'yaml' 的包
- java - Spring WebSocket convertAndSendToUser 不起作用
- mysql - 在 Laravel 迁移中重命名表列时出错
- selection - 如何在 GIMP 中找到选择集群?
- yandex-maps - 如何在 flexbox 上嵌入 Yandex.Maps?