如何阻止最后一个模板的数据显示在下一个模板/路线中?
我在下一次路由/模板的数据渲染问题,直到返回查询。这是waitOn的用途吗?
我尝试过使用waitOn,但这条路线应该是被动的,所以我不想让整个路线重新渲染。
注意:此问题与:meteorjs iron-router waitOn and using as data on rendered不同,因为我未使用Collection.find({})
查询,我使用this.subscribe('publication')
类型查询。
目前我的路线结构如此,这样可行,但在订阅完成之前,它会在其中呈现其他内容集合数据:
this.route('news', {
path: '/news',
template: 'contentList',
data: function () {
var content = this.subscribe('content-topics', Session.get('topics'), contentTopicsItemLimit);
var macroTopics = this.subscribe('macro-topics');
var data = {
macroTopics: macroTopics,
content: content
};
return data;
}
});
我尝试过使用waitOn,但我不确定如何使用此类查询进行结构化。
那么在保持反应性的同时构建它的最佳方法是什么?
答案 0 :(得分:0)
尝试
waitOn: function() {
return [Meteor.subscribe('content-topics', Session.get('topics'), contentTopicsItemLimit),
Meteor.subscribe('macro-topics')]
}
只有在两个订阅的数据都被带到客户端之后才会呈现。