這樣做的一般方法是什麼?我有問題與fullcalendar反應包裝。正式版(rzymek)不幸的是不能正常工作,所以我決定創建自己的包裝。我使用渲染和銷燬事件來實現插件實例的初始化和銷燬,但是......它沒有反應性地工作(清楚起來,它和rzymek版本完全一樣)。怎麼了?將非反應性文庫包裝到反應包裝
編輯:我的問題不僅是被動事件,我想完整的日曆充分反應,這意味着,官方論據的每一個變化都應該將日曆重新放到新的狀態。
這樣做的一般方法是什麼?我有問題與fullcalendar反應包裝。正式版(rzymek)不幸的是不能正常工作,所以我決定創建自己的包裝。我使用渲染和銷燬事件來實現插件實例的初始化和銷燬,但是......它沒有反應性地工作(清楚起來,它和rzymek版本完全一樣)。怎麼了?將非反應性文庫包裝到反應包裝
編輯:我的問題不僅是被動事件,我想完整的日曆充分反應,這意味着,官方論據的每一個變化都應該將日曆重新放到新的狀態。
Fullcalendar在反應式工作中有點棘手。一個好黑客,我結束了使用被包裝一Collection.find()調用,而自動運行的refetchEvent像這樣:
Template.foo.onRendered(function() {
this.autorun(function() {
YourCollection.find({});
$(".calendar").fullCalendar("refetchEvents");
});
});
那麼您對YourCollection
任何更新將觸發refetchEvent將執行你的events
和eventRender
fullcalender回調,在那裏你可以更新日曆。
問題是,Blaze在參數更改時不會重新渲染模板。這真的很奇怪。如何解決這個問題?使用Template.currentData(),它是反應性的源,返回實際的模板數據上下文。下一步是:在onRendered回調中,我們開始autorun,它會監聽模板數據上下文中的更改,並根據更改重新渲染日曆。
最後,我們有被動的fullcalendar。
謝謝,但我需要這種行爲與所有inicialization參數。 – Seraph