【问题标题】:Fullcalendar and VuexFullcalendar 和 Vuex
【发布时间】:2021-01-27 04:51:06
【问题描述】:

在 fullcalendar 更新他们的道具以超出 <FullCalendar /> 元素之后,我在渲染事件时遇到了一些问题。 我知道状态请求在 Vuex 中得到了满足,因为我已经在没有 getter 和 getter 的情况下测试了这么多,但似乎没有任何工作......

<template>
<v-container>
            <FullCalendar :options="calendarOptions" />

            <li v-for="event in events" :key="event.id"> 
                {{event.name + ' ' + event.start}}
            </li>
</v-container>
</template>

<script>
import FullCalendar from '@fullcalendar/vue'
import dayGridPlugin from '@fullcalendar/daygrid'
import interactionPlugin from '@fullcalendar/interaction'
import timeGridPlugin from '@fullcalendar/timegrid'
import listPlugin from '@fullcalendar/list'

import { mapState, mapActions, mapGetters } from 'vuex'


export default {
  components: {
    FullCalendar
  },
  data() {
    return {
      calendarOptions: {
        plugins: [timeGridPlugin, listPlugin ,dayGridPlugin, interactionPlugin ],
        initialView: 'dayGridMonth',
        selectable: true,
        events: this.allEvents,
      }
    }
  },
   computed: {
        ...mapState({
            events: state => state.calendar.events
        }),
        ...mapGetters('calendar', ['allEvents']),
    },
    created () {
      this.getAll();
    },
    methods: {
        ...mapActions('calendar', {
            getAll: 'getAll',
        }),
    }
}
</script>

有没有办法只用状态来渲染元素?我认为将事件设置为 this.events 会起作用,但我可能离这里很远。我是 Vue 和 Vuex 的新手,非常感谢您的帮助! :) 该列表只是为了知道该状态正在按应有的方式工作。

【问题讨论】:

    标签: vue.js fullcalendar state vuex


    【解决方案1】:

    您仍然可以通过执行以下操作来绑定模板中的事件:

    <FullCalendar :options="{
      ...calendarOptions,
      events: events
    }" />
    

    【讨论】:

    • 完美!我在文档中没有发现,可能需要戴上眼镜。你知道为什么它通过在模板中绑定而不是在 calendarOptions 中来工作吗?使用 getter 还是仅仅映射状态会更合适吗?这也适用于绑定@属性吗?
    • 它是developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…,它允许你扩展你的对象、数组或字符串。 data 属性在你的计算属性之前被评估,所以你的计算属性还没有设置。您可以将 getter 视为商店中的计算属性,如果您想对使用 getter 的状态执行某些操作,则可以使用状态。
    • 感谢我需要的参考和深入解释!非常感谢的人!
    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2017-11-04
    • 2018-09-04
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多