Meteor WaitOn for Collection订阅似乎无法处理模板挂钩

时间:2014-08-30 12:20:21

标签: meteor

我有一个名为Listings的集合,有3个对象。我正在使用em脚手架工具。

router.js(在两个文件夹>路由器文件夹中):

Router.map(function(){

  this.route('Index', {
    path: '/',
    waitOn: function(){
      return Meteor.subscribe('listings');
    }
  });  

});

listings.js(在两个>集合内)

Listings = new Meteor.Collection('listings');

index.js(客户端>视图>页面)

Template.Index.rendered = function () {

    listings = Listings.find().fetch();
    console.log(listings);

}

当页面首次将listings控制台日志加载为空数组时。然后我手动运行Listings.find().fetch();,我得到了DB中的三个项目。

呃......我不确定为什么会这样。 waitOn似乎无法正常工作,至少完全正常。在转到路线并渲染模板之前,似乎没有等待客户端获取列表的整个数据集。

我可以通过将代码放在Deps.autorun中解决此问题,在这种情况下控制台日志可以正常工作。

Deps.autorun(function() {
  listings = Listings.find().fetch();
  console.log(listings);
});

但我想知道是否有办法不用Deps.autorun?

0 个答案:

没有答案