gpt4 book ai didi

javascript - 如何在 VueJs 中使用 Javascript 获取过去的月份日期?

转载 作者:行者123 更新时间:2023-11-30 13:51:00 25 4
gpt4 key购买 nike

我对 Vue 有点陌生,想知道如何获取过去一个月的日期:我有这段代码:

import SomeTable from "./table/SomeTable";

export default {
name: "Cabinets",
components: {SomeTable},
data() {
return {
defaultColumns: [
'id',
'serialNumber'
],

defaultStartDate: new Date(),
defaultEndDate: new Date('2019-10-07')
}
},
props: {
startDate: {type: Date, required: false},
endDate: {type: Date, required: false},
}
}

</script>

然后我将 defaultStartDatedefaultEndDate 放在 SomeTable 元素中,如下所示:

 <some-table :start-date="defaultStartDate" :end-date="defaultEndDate" :default-columns="defaultColumns"></some-table>

然后返回正确的今天开始日期以及设置的开始日期。但是当我尝试做这样的事情时:

defaultEndDate: new Date().getFullYear() + '-' + new Date().getMonth() + '-' + new Date().getDate()

我的本​​地环境变成空白并出现各种错误。我认为这是因为我不能在 Vue 的那个地方使用 Javascript?但是我真的还不确定 Vue 是如何工作的,而且通过谷歌搜索也找不到太多关于它的信息。那么,我如何使用 Javascript 或即使 Vue 有一个巧妙的技巧来做到这一点呢?

编辑:我得到的错误是以下形式:

Error in data(): "TypeError: Date().getFullYear is not a function"

然后我在 Vue.js 中使用了所有的 javascript 函数。还有

Invalid prop: type check failed for prop "endDate". Expected Date, got String with value "2019-9-5".

最佳答案

在您的代码中,endDate: {type: Date, required: false}, 表示 endDate 应该是 Date 类型。

因此您需要将计算值转换为 Date,如下所示:

defaultEndDate: new Date(`${(new Date()).getFullYear()}-${(new Date()).getMonth()}-${(new Date()).getDate()}`)

编辑:你需要考虑月份是 January(0)。通过使用上述方法,您将在一月时出错。我认为使用如下所示的 computed 值会更好;

computed: {
defaultEndDate() {
const now = new Date();
now.setMonth(now.getMonth() - 1);
return new Date(now.toJSON().slice(0, 10));
}
}

关于javascript - 如何在 VueJs 中使用 Javascript 获取过去的月份日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com