我有一个名为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?