Meteor 如何防止使用Iron Router在下一个模板中呈现上一条路由的数据?

Meteor 如何防止使用Iron Router在下一个模板中呈现上一条路由的数据?,meteor,iron-router,Meteor,Iron Router,如何防止上一个模板的数据显示在下一个模板/路由中 在返回查询之前,我在下一个中遇到了上一个路由/模板的数据呈现问题。这就是waitOn的目的吗 我尝试过使用waitOn,但是这条路线应该是被动的,所以我不希望整个路线重新渲染 注意:这个问题不同于:因为我没有使用Collection.find{}查询,所以我使用的是this.subscribe'publication'类型的查询 目前,我的路由的结构是这样的,可以正常工作,但它会在订阅完成之前呈现其中的其他内容收集数据: this.route('

如何防止上一个模板的数据显示在下一个模板/路由中

在返回查询之前,我在下一个中遇到了上一个路由/模板的数据呈现问题。这就是waitOn的目的吗

我尝试过使用waitOn,但是这条路线应该是被动的,所以我不希望整个路线重新渲染

注意:这个问题不同于:因为我没有使用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,但我不确定如何用这种类型的查询构造它

那么,在保持反应性的同时,最好的方法是什么呢

waitOn: function() { 
    return [Meteor.subscribe('content-topics', Session.get('topics'), contentTopicsItemLimit),
    Meteor.subscribe('macro-topics')] 
}

只有当来自两个订阅的数据都提交到客户端后,才应该呈现此内容。

Andreas:我已经尝试了很多。问题是,它完全重新加载页面,并且由于某些原因,它会弄乱我的会话变量,因为该部分可能是不相关和可修复的。但是用户可以在这里选择不同的主题-一个或多个主题-因此我宁愿页面不在这里完全重新加载,只是为了刷新内容。你是说更改为使用waitOn会导致整个页面刷新-就像在浏览器中重新加载URL一样?我没有看到使用waitOn的行为。你确定它不在指向该页面的链接的格式中?我也没有看到这种行为。只需根据路由器定义更改页面的各个部分。也许您没有使用{{>yield}来呈现页面中某个部分的路由,从而重新加载整个页面?你能发布一个模板的例子吗?contentList和主模板?