我正在使用流星0.5.4我刚刚遇到了Meteor的Session.set()的一个奇怪问题。流星的Session.set导致JQuery代码的问题?
我想在用户单击模板实例时显示简单的模态对话框。
我正在使用模板的事件映射来设置一些信息到会话中,当用户点击模板实例。
Template.Orders.events({
'click' : function() {
Session.set("OrderName", this.name);
}
});
多种形式对话模板然后显示的数据会议确定:
Template.OrderDialogue.OrderName = function() {
return Session.get("OrderName");
}
最后,这里是我的jQuery代码
Template.Orders.rendered = function() {
jQuery('a[rel*=leanModal]').leanModal();
}
当我使用Session.set() - 如上显示在Template.orders的click事件处理程序中--JQuery插件不会在第一次点击模板实例时显示模态对话框,而只会在第二次点击该确切实例时显示。模板实例需要两次点击才能获得模态对话。
当我删除Session.set()一切工作正常 - 模态对话显示在第一次点击,因为它应该工作。
调试输出显示会话值在第一次点击时正确设置。
Session.set()如何干扰我的JQuery插件?
感谢您指出我在正确的方向TimDog。出于某种原因修改JQuery插件不适用于我 - 添加setTimeout后没有显示任何对话。有了你的信息,我在Order模板的事件处理程序中的Session.set()之后插入了Meteor.flush(),并做到了这一点。现在我可以看到第一次点击显示的模式对话框。谢谢,弗拉基米尔 – vladimirp