登录

完整日历/VUE应用程序中的事件未更新

内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持

腾讯云小微IT领域专用引擎提供翻译支持

原文
Stack Overflow用户 修改于2017-07-14
  • 该问题已被编辑
  • 提问者: Stack Overflow用户
  • 提问时间: 2017-07-13 22:06

在我的 cal.vue 组件中,我有一个 fullcalendar 组件。在 cal.vue 中,我有一个名为submit的方法。在submit中,我使用 this.$refs.calendar (成功地)引用了 fullcalendar 组件。但是,当我在我的提交函数中执行 this.$refs.calendar.$emit('refetchEvents'); 时,事件不会被获取(我的事件不会在我的日历上更新)。为什么我的事件在提交时没有更新,我如何更新它们?

相关代码如下:

<template>
   <div id="calendar"  :navL="navLinks" :event-sources="eventSources" @event-selected="eventSelected" @event-created="eventCreated" :config="config" >
      <button    class="btn btn-secondary" v-on:click="submit()">
         Submit
      </button>
      <full-calendar id="target" ref="calendar" :event-sources="eventSources" @event-selected="eventSelected" @day-click="click"@event-created="eventCreated" :config="config"></full-calendar>
</template>
<script>
   const self = this;
   export default {
      name: 'calendar',
      data() {
         return {
            eventSources: [
                  url: 'http://localhost:3000/getAppointments',
                  type: 'GET',
                  data: {
                     id: this.$store.getters.user
                  error: function() {
                     alert('there was an error while fetching events!');
      methods: {
         submit: function() {
            console.log(this.$refs.calendar); //prints fullcalendar VUE component
            this.$refs.calendar.$emit('refetchEvents'); //nothing appears to happen here
</script>
浏览 131 关注 0 得票数 4
  • 得票数为Stack Overflow原文数据
原文
回答于2017-07-14
得票数 4

根据 documentation 的说法

this.$refs.calendar.$emit('refetchEvents')

应该是

this.$refs.calendar.$emit('refetch-events')
回答于2019-05-30
得票数 0

如果通过npm包使用普通日历:“@ FullCalendar /fullcalendar”,"@fullcalendar/daygrid","@fullcalendar/timegrid","@fullcalendar/vue“

html: <full-calendar ref="fullCalendar" :events="events" />
inside a method to update an event:
        let calendar = this.$refs.fullCalendar.getApi()
        const updatedEvent = calendar.getEventById(eventId)