Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将非反应性库打包到反应性包装器_Javascript_Meteor_Fullcalendar_Meteor Blaze - Fatal编程技术网

Javascript 将非反应性库打包到反应性包装器

Javascript 将非反应性库打包到反应性包装器,javascript,meteor,fullcalendar,meteor-blaze,Javascript,Meteor,Fullcalendar,Meteor Blaze,一般的做法是什么?我对fullcalendar被动包装器有问题。很遗憾,官方版本(rzymek)不能正常工作,所以我决定创建自己的包装器。我使用呈现和销毁事件进行插件实例初始化和销毁,但是。。。它没有反应性地工作(很明显,它的工作原理与rzymek版本完全相同)。怎么了 编辑:我的问题不仅仅是被动事件,我希望完整的日历完全是被动的,这意味着,每一次初始化参数的更改都应该使日历重新进入新状态 Fullcalendar要以反应方式工作有点棘手。我最后使用的一个OK hack是在自动运行中包装Coll

一般的做法是什么?我对fullcalendar被动包装器有问题。很遗憾,官方版本(rzymek)不能正常工作,所以我决定创建自己的包装器。我使用呈现和销毁事件进行插件实例初始化和销毁,但是。。。它没有反应性地工作(很明显,它的工作原理与rzymek版本完全相同)。怎么了


编辑:我的问题不仅仅是被动事件,我希望完整的日历完全是被动的,这意味着,每一次初始化参数的更改都应该使日历重新进入新状态

Fullcalendar要以反应方式工作有点棘手。我最后使用的一个OK hack是在自动运行中包装Collection.find()调用和refetchEvent,如下所示:

Template.foo.onRendered(function() {
  this.autorun(function() {
    YourCollection.find({});
    $(".calendar").fullCalendar("refetchEvents");
  });
});

因此,您对
YourCollection
所做的任何更新都将触发一个refetchEvent,该事件将执行
events
eventRender
FullCalendar回调,您可以在其中更新日历。

问题是,Blaze在其参数更改时不会重新渲染模板。真奇怪。如何解决这个问题?使用Template.currentData(),它是返回实际模板数据上下文的被动源。下一步是:在onRendered回调中,我们启动autorun,它侦听模板数据上下文中的更改,并根据更改重新渲染日历


最后,我们有了反应式fullcalendar。

谢谢,但我需要所有非专业化参数的这种行为。