我创建了一个应该可以被客户端和服务器端访问的集合。但是当我尝试在浏览器中使用它时,它给了我未定义的。
var lists = new Meteor.Collection("Lists");
//lists.insert({Category:"DVDs", items: {Name:"Mission Impossible",Owner:"me",LentTo:"Alice"}});
if (Meteor.isClient) {
// counter starts at 0
Session.setDefault('counter', 0);
Template.hello.helpers({
counter: function () {
return Session.get('counter');
}
});
Template.hello.events({
'click button': function () {
// increment the counter when button is clicked
Session.set('counter', Session.get('counter') + 1);
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
现在,当我在客户端浏览器控制台中使用列表时,它给了我未定义的内容。
答案 0 :(得分:1)
定义不带var关键字的集合。它将使整个应用程序中的全局变量可访问。并将集合定义为大写:
Lists = new Meteor.Collection("lists");
这是一个很好的做法。
答案 1 :(得分:1)
如果您已删除autopublish
个套餐,则应在客户端
Meteor.subscribe("lists");
在服务器端发布
Meteor.publish("lists", function () {
return Lists.find({});
});
并使用小写字母表示集合名称。