Meteor Blaze.renderWithData-如果数据发生更改,如何自动更新模板?
我用Meteor建立了一个列表。我不希望整个列表是被动的,即数据更改时自动更新。但是,如果与列表项相关的数据发生更改,我确实希望列表项的标题更新。我正在使用Blaze.renderWithData插入列表项,那么如何实现这一点呢?使用两个帮助程序,一个是返回光标的非反应性帮助程序,另一个是返回标题的反应性帮助程序。要使某物无反应,请使用 在下面的人为示例中,我将返回一个反应性标题,其中包含光标计数(如果非零),而从帮助器返回的光标是非反应性的Meteor Blaze.renderWithData-如果数据发生更改,如何自动更新模板?,meteor,Meteor,我用Meteor建立了一个列表。我不希望整个列表是被动的,即数据更改时自动更新。但是,如果与列表项相关的数据发生更改,我确实希望列表项的标题更新。我正在使用Blaze.renderWithData插入列表项,那么如何实现这一点呢?使用两个帮助程序,一个是返回光标的非反应性帮助程序,另一个是返回标题的反应性帮助程序。要使某物无反应,请使用 在下面的人为示例中,我将返回一个反应性标题,其中包含光标计数(如果非零),而从帮助器返回的光标是非反应性的 subHandle = Meteor.subscri
subHandle = Meteor.subscribe('mySubscription');
Template.foo.helpers({
cursor: function(){
if ( subHandle.ready() ) return Tracker.nonreactive(function() {
return myCollection.find(query,options);
});
}),
title: function(){
var nDocs = myCollection.find(query,options).count();
if ( nDocs ) return "Title (" + nDocs + ")";
else return "Title";
}
});
更新:
修改为处理准备就绪的订阅句柄,以便第一次使用就绪订阅调用非反应函数
。您可以看到,当您向玩家添加积分时,总积分会更新,但玩家的得分和排序永远不会改变。@Michel Floyd您是否建议在使用Blaze.renderWithData时不能这样做?一点也不。例如,这些帮助程序可以位于嵌入动态模板的模板上。我想在这种情况下,您不需要光标辅助对象,只需要使用Tracker.nonresponse来获取Blaze.renderWithData@Michel Floyd的数据上下文-您介意在您提供的答案中添加并使用Blaze.renderWithData进行示例吗?