在用组件时间选择器限定选择结束时间不得大于开始时间时使用了 :picker-options=""这个
在这里直接使用this会指向underfined
pickerOptions: {
disabledDate(time) {
console.log(this) //undefined 拿不到vue实例
console.log(_this.searchForm.timeValue)//可以拿到值
console.log(_this) //vue实例
const lastYearDate = new Date(getLastFormatYear(time)).getTime()
return time.getTime() > new Date() || time.getTime() < lastYearDate
}
}
disabledDate里面拿不到vue实例本身的,因为data是一个函数,pickerOptions属于函数里的一个属性,有关this和作用域的问题,这里需要增加this的指向问题
两种方法
1.可以在data里拿一下this:
data() {
var _this = this
return {
....
}
2.可以在computed写一个方法
computed: { pickerOptions() { // 用计算属性 let _this = this // 此时 this指向的就是vue实例 retur