我有Rails和MVC框架的背景,所以我不完全理解创建模型,发布数据并让用户订阅它的想法。
我一直在检查Meteor's docs,但我仍然对某些事情感到困惑(例如,订阅和发布声明应该在哪个文件中?模板声明应该在哪个文件中?)
如果有人能给我一个可行的例子,我会很高兴。
答案 0 :(得分:2)
最好的起点是Meteor自己的示例应用程序。您可以从examples page预览它们(并获取有关如何在本地计算机上安装它们的说明)。
如果你想浏览一些代码,请查看他们的Gitgub回购。 All Tomorrow's Parties演示是一个相当全面的示例,它显示了用户身份验证,选择性发布,客户端和服务器代码等。
请查看leaderboard demo以获取一个非常简单的“hello world”类型的示例。
答案 1 :(得分:2)
以下是一个例子:
// Server publish the data
if(Meteor.isServer) {
Meteor.publish("allUserData", function () {
return Meteor.users.find();
});
}
// Client subscribe the data
if(Meteor.isClient) {
Meteor.subscribe('allUserData');
}
// Open bar, everybody can call all mongodb request
Meteor.users.allow({
insert: function () {
return true;
},
update: function () {
return true;
},
remove: function () {
return true;
}
});
答案 2 :(得分:0)
尝试:
meteor create --example parties
并浏览代码。 事情是这样的:发布你返回的内容可以作为模型访问。
答案 3 :(得分:0)
这个问题似乎是最古老的,但只是为了保持良好的做法。
首先在/lib
文件夹中创建一些Collections.js
还要确保删除自动发布包并且不安全。
在Collection.js
里面放下一个代码。
Example = new Mongo.Collection('Example');
if(Meteor.isClient) {
Meteor.subscribe('Example');
}
为什么在lib
文件夹?
因为首先会加载lib目录中的文件,所以我们确保在Server/client
侧都有集合
现在,在服务器端,我们创建了发布功能。
//Server.js
Meteor.publish("Promociones", function () {
return Example.find();
});
我再次提出这个答案,因为我意识到我正在使用
Example = new Mongo.Collection('Example'); //on both server.js and client.js
所以我认为这是一个很好的做法,对新人来说是一个很好的建议