我已成功将完整日历插件包装在ember组件中,并且我能够显示最初由控制器提供的事件数据。我想知道是否可以根据用户操作向日历添加事件。到目前为止,我的尝试都没有成功。
这是一个复制我当前情况的垃圾箱 - > JS Bin
您可以在bin中看到,当用户单击按钮时,新事件对象已成功推送到填充日历的事件数组。现在,我如何才能更新日历以反映这一新事件?我试过addEventSource
和refetchEvents
无济于事。
编辑为清晰起见:提供的jsbin中的功能实现确实添加了该事件,但在用户点击其他月份然后返回事件的月份之前,它在日历上不可见加入。我试图在添加后立即在日历上显示事件。
答案 0 :(得分:1)
请阅读FullCalendar的文档:http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/
您需要执行.fullCalendar('renderEvent', this.get('events'), true);
才能实际渲染添加内容。
您也可以考虑使用Ember.Component Events来清楚地处理jQuery插件接管元素时发生的事情。
您还应该使用此。$来限制您可能选择的元素,以限制您进入组件内部的内容。
答案 1 :(得分:1)
@kakigoori提供了正确的使用命令,但是需要传递正在添加的事件而不是产生不良副作用的完整事件数组。
我更新了jsBin以显示所需功能的工作示例,可以在下面找到。
解决方案 - > JS Bin