流星订阅事件/渲染
Meteor subscribe on event/render
是否有一种方法来订阅流星当一个事件触发或模板被渲染?当这种情况发生时,我试图得到一个消息弹出并订阅所有用户名。
尝试:
Template.newMessage.rendered = function(){
Meteor.subscribe("allUsernames");
}
:
Template.layout.events({
"click #new-message": function(e, t){
$("#styledModal").modal();
Meteor.subscribe("allUsernames");
}
});
都不工作,但有什么办法做到这一点,或者我必须使用不同的路线?
我试着理解为什么你想做订阅是这么晚的过程状态?
我建议你在IronRouter的waitOn属性中订阅。如果你使用waitOn属性来订阅路由中的所有用户,你只需要在弹出窗口中显示它们=)
流星7条原则中的第一条是:延迟补偿。在客户机上,使用预取和模型模拟,使它看起来像您拥有到数据库的零延迟连接。
来源:http://docs.meteor.com/sevenprinciples
希望这有帮助,亚历克斯
您可以尝试使用Deps和Session(虽然您的代码也应该工作,也许您有出版物的问题?)。
在你的主模板渲染函数中放入:
Template.layout.rendered = function() {
Session.set('getAllUsers',false);
Deps.autorun(function () {
if(Session.get('getAllUsers' == true)
Meteor.subscribe('allUsernames');
})
}
然后在打开用户列表的模板中:
Template.newMessage.rendered = function(){
Session.set('getAllUsers',true); //this should trigger Deps.autorun and subscribe.
}
相关文章:
- 剑道MVC图表-渲染事件问题
- 为什么每次重新渲染父视图时都需要重新委派子视图的事件
- 铁流星's路线没有't激发模板的渲染事件
- 当我认为它不应该重新渲染视图时,如何防止 Meteor 在 html 选择 dom 单击事件上重新渲染视图
- Canvas仅使用fabric.js在点击事件时渲染自定义Web字体
- 如何在渲染新视图之前关闭所有事件
- 如何在渲染聚合物元素后触发事件
- extjs网格真实的完全后渲染事件
- React 渲染一个组件会触发 onClick 事件
- React,将onClick事件直接添加到组件中,而不是在所述组件中渲染元素
- 有没有办法用pdf.js为pdf渲染编写javascript事件
- React 组件不会在 onClick 事件后重新渲染
- Rails - 如何通过 AJAX 在渲染的部分中调用 jQuery 事件
- 在开放层 3 中完全渲染地图视图后,事件是否会触发
- 全日历渲染事件不粘附
- 视图更改时的Fullcalendar渲染事件
- Marionette.ItemView渲染事件
- 流星:on渲染事件对图像可能
- 在forloop中渲染事件
- 我可以用谷歌地图Api捕获渲染事件吗?