vue 日期选择器 怎么设置 终止日期的下一周 为什么我读出来的数据是 undefined?

data() {
    return {
          maxTs: 1672502400000
          pickerOptions: {
              shortcuts: [{
                  {
                    text: '下一周',
                    onClick(picker) {
                    var that = this;
                     console.log(this.maxTs, '-------------------------------------')
                    const end = that.maxTs + 10080 * 60000; // that.maxTs 是我自定义的终止日期 , 也是我后台第一次获取数据的终止日期
                    const start = that.maxTs;
                    start.setTime(start);
                    picker.$emit('pick', [start, end]);
                }
              }, ]
      },

但是 打印出来的 结果是 undefined,为什么 要怎么做才能 使用data中自定义的初始值, 或者使用 后端返回的终止日期值?

img


 data() {
 var that = this;
    return {}
}

你的写法好奇怪,没看到过在data写函数的

你可在created里面去写赋值一开始初始化的时候拿不到

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7659251
  • 你也可以参考下这篇文章:vue 中怎么给 data 动态添加数据,为什么要这样写
  • 除此之外, 这篇博客: vue中data之间数据自调用undefined的问题中的 解析: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我认为,虽然在vue中,this是指向VueComponent的,但是data中的属性调用另一属性的时候,data中的数据还没有解析出来,因为return {}对象的时候它们中所有的数据是一起渲染解析的,所以会出现undefined问 题。

  • 以下回答由chatgpt基于相关博客总结生成:

    问题中提到,在Vue中使用日期选择器时,想将终止日期设置为当前选择的日期的下一周。但在读取数据时得到的结果为undefined,想知道如何解决这个问题。

    根据提供的参考资料,可以根据下面的步骤来解决这个问题:

    1. 首先,确认在Vue组件的data选项中是否定义了一个变量来保存终止日期。如果未定义,需要在data选项中添加一个用于保存终止日期的变量,例如endDate

    2. 在绑定日期选择器的地方,添加一个事件监听器来获取选择的日期。可以使用Vue的@change指令,例如:@change="handleDateChange"

    3. 在Vue组件的方法选项中,添加一个名为handleDateChange的方法来处理日期变化事件。在该方法中,可以获取到选择的日期值。

    4. handleDateChange方法中,可以根据选择的日期来计算出终止日期的值。可以使用JavaScript的日期对象和相关的操作方法来计算。

    5. 将计算得到的终止日期赋值给endDate变量。

    以上是一种解决方案的思路和步骤,具体的代码实现可能因具体的项目和需求而有所不同。在实际开发中,可以根据具体情况进行调整和优化。如果对于具体的代码实现不确定,可以提供更多的背景和代码,以便为您提供更准确的帮助。