Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VueJs中使用Javascript获取过去的月份日期?_Javascript_Vue.js - Fatal编程技术网

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

如何在VueJs中使用Javascript获取过去的月份日期?,javascript,vue.js,Javascript,Vue.js,我对Vue有点陌生,想知道如何获取上个月的日期:我有以下代码: import SomeTable from "./table/SomeTable"; export default { name: "Cabinets", components: {SomeTable}, data() { return { defaultColumns: [ 'id', 'serialN

我对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>
然后返回今天的正确开始日期和设置日期。但当我尝试做这样的事情时:

defaultEndDate: new Date().getFullYear() + '-' + new Date().getMonth() + '-' + new Date().getDate()
我的本地环境变为空白并出现各种错误。我想这是因为我不能在Vue中的那个地方使用Javascript?但我仍然不确定Vue是如何工作的,在谷歌上也找不到太多。那么,我如何使用Javascript实现这一点呢?或者,即使Vue有一个巧妙的技巧,我也可以这么做

编辑: 我收到的错误如下所示:

数据()中的错误:“类型错误:日期()。getFullYear不是函数”

但是我在Vue中使用的所有javascript函数。而且

无效的属性:属性“endDate”的类型检查失败。预期日期,获取值为“2019-9-5”的字符串


在代码中,
endDate:{type:Date,required:false},
表示
endDate
应为日期类型

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

defaultEndDate: new Date(`${(new Date()).getFullYear()}-${(new Date()).getMonth()}-${(new Date()).getDate()}`)
编辑: 你需要考虑的月份是一月(0)。通过使用上述方法,您将在1月份得到错误。 我认为最好使用
计算的
值,如下所示

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

“犯各种各样的错误”。。。它们是什么?错误消息非常重要,信息丰富,还可以告诉您问题在代码中的位置。将它们包含在您的question@charlietfl你是对的,但是它们没有意义,因为它们相互矛盾,其中一个说函数没有定义,另一个说它们有一个字符串。所以我认为它们没有用。它们可能会让你困惑,但完全忽略它们并不是解决问题的方法。事实上,你似乎误解了他们的意思。这很有道理,而且效果很好,谢谢。但是因为我想要过去一个月,所以不需要
+1
,因为Javascript默认返回过去一个月
computed: {
  defaultEndDate() {
     const now = new Date();
     now.setMonth(now.getMonth() - 1);
     return new Date(now.toJSON().slice(0, 10));
  }
}