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中自定义的初始值, 或者使用 后端返回的终止日期值?
data() {
var that = this;
return {}
}
你的写法好奇怪,没看到过在data写函数的
你可在created里面去写赋值一开始初始化的时候拿不到
我认为,虽然在vue中,this是指向VueComponent的,但是data中的属性调用另一属性的时候,data中的数据还没有解析出来,因为return {}对象的时候它们中所有的数据是一起渲染解析的,所以会出现undefined问 题。
问题中提到,在Vue中使用日期选择器时,想将终止日期设置为当前选择的日期的下一周。但在读取数据时得到的结果为undefined,想知道如何解决这个问题。
根据提供的参考资料,可以根据下面的步骤来解决这个问题:
首先,确认在Vue组件的data选项中是否定义了一个变量来保存终止日期。如果未定义,需要在data选项中添加一个用于保存终止日期的变量,例如endDate
。
在绑定日期选择器的地方,添加一个事件监听器来获取选择的日期。可以使用Vue的@change
指令,例如:@change="handleDateChange"
。
在Vue组件的方法选项中,添加一个名为handleDateChange
的方法来处理日期变化事件。在该方法中,可以获取到选择的日期值。
在handleDateChange
方法中,可以根据选择的日期来计算出终止日期的值。可以使用JavaScript的日期对象和相关的操作方法来计算。
将计算得到的终止日期赋值给endDate
变量。
以上是一种解决方案的思路和步骤,具体的代码实现可能因具体的项目和需求而有所不同。在实际开发中,可以根据具体情况进行调整和优化。如果对于具体的代码实现不确定,可以提供更多的背景和代码,以便为您提供更准确的帮助。