无法弄清楚如何将回调 return 值分配给另一个 属性 (Vue.js)
Cannot figure out how to assign a callbacks return value into another property (Vue.js)
所以我使用了一个名为 vue-calendar 的库,它有一个名为 calendarOptions 的对象,其中包含指示其功能的方法。一种是 dateClick 方法,它以字符串格式返回在日历上单击的日期。我想将该值保存在 arrivalDate 中,但它不起作用。我查过 Vue.set() 但我认为它更多地与 'this' 指向的内容有关。我之前通过在函数之前重新分配它来解决这个问题,但我不能在这里这样做。
export default {
components: {
FullCalendar,
Banner
},
data() {
return {
calendarOptions: {
plugins: [dayGridPlugin, interactionPlugin],
initialView: 'dayGridMonth',
selectable: true,
dateClick: function(info) {
this.arrivalDate = info.dateStr
}
},
arrivalDate: ''
}
}
}
</script>
来自this示例
import { Calendar } from '@fullcalendar/core';
import interactionPlugin from '@fullcalendar/interaction';
您需要使用methods
// you define a method inside your Vue instance
export default {
components: {
FullCalendar,
Banner,
},
data() {
return {
...
arrivalDate: '',
calendar: null,
};
},
methods: {
dateClick(info) {
this.arrivalDate = info.dateStr;
},
},
created() {
const self = this;
this.calendar = new Calendar(calendarEl, {
plugins: [ interactionPlugin ],
dateClick: function(info) {
self.dateClick(info);
// or self.arrivalDate = info.dateStr;
}
});
}
然后将方法传递给组件
<VCalendar @dateClick="dateClick" ...>
所以我使用了一个名为 vue-calendar 的库,它有一个名为 calendarOptions 的对象,其中包含指示其功能的方法。一种是 dateClick 方法,它以字符串格式返回在日历上单击的日期。我想将该值保存在 arrivalDate 中,但它不起作用。我查过 Vue.set() 但我认为它更多地与 'this' 指向的内容有关。我之前通过在函数之前重新分配它来解决这个问题,但我不能在这里这样做。
export default {
components: {
FullCalendar,
Banner
},
data() {
return {
calendarOptions: {
plugins: [dayGridPlugin, interactionPlugin],
initialView: 'dayGridMonth',
selectable: true,
dateClick: function(info) {
this.arrivalDate = info.dateStr
}
},
arrivalDate: ''
}
}
}
</script>
来自this示例
import { Calendar } from '@fullcalendar/core';
import interactionPlugin from '@fullcalendar/interaction';
您需要使用methods
// you define a method inside your Vue instance
export default {
components: {
FullCalendar,
Banner,
},
data() {
return {
...
arrivalDate: '',
calendar: null,
};
},
methods: {
dateClick(info) {
this.arrivalDate = info.dateStr;
},
},
created() {
const self = this;
this.calendar = new Calendar(calendarEl, {
plugins: [ interactionPlugin ],
dateClick: function(info) {
self.dateClick(info);
// or self.arrivalDate = info.dateStr;
}
});
}
然后将方法传递给组件
<VCalendar @dateClick="dateClick" ...>