由于某些原因,我的data: function...
总是返回为undefined
。
这是我的服务器代码:
Flyers = new Mongo.Collection('flyers');
Meteor.publish('flyers', function() {
return Flyers.find({});
});
就这么简单。
这是我的路由文件(位于名为
both
的目录中):Router.route('/dashboard', {
template: 'dashboard',
layoutTemplate: "dashboardLayout",
loadingTemplate: 'loading',
waitOn: function() {
return Meteor.subscribe('flyers');
},
data: function() {
return Flyers.find()
}
});
只能看到:
有什么原因不起作用吗?
最佳答案
由于您的Flyers
变量是使用服务器代码定义的,因此只能在服务器上访问。尝试在客户端访问此变量将导致undefined
值,因为它不存在。
应该在lib
文件夹中定义客户端和服务器上都需要的通用代码,以使其在两个地方都可以访问。
附带说明,这样做的原因是,在某些情况下,您可能希望仅在客户端或服务器上可以访问集合,而不能在两者上都可以访问集合。