客户端和服务器之间的共享收集
Shared Collection Between Client and Server Meteor
流星新手。我只是在学习如何运作,所以请耐心等待。
在一个文件中一切都工作得很好,但是在安装iron:router
以拥有多页应用程序之后,我意识到最好有单独的客户端和服务器文件。不幸的是,现在我在服务器和客户机之间同步集合时遇到了麻烦。我读了很多教程,但是都没用。
我的server.js
文件:
Streams = new Meteor.Collection("streams");
if (Meteor.isServer) {
Meteor.publish('streams', function () {
return Streams.find();
});
}
在我的client.js
文件:
if(Meteor.isClient) {
Meteor.subscribe("streams");
Template.body.helpers = function(){
return Streams.find();
}
}
调试后,显示客户端没有定义"Streams"。这是怎么呢我如何连接集合?
经典建筑:
lib/streams.js
Streams = new Meteor.Collection("streams");
server/streams.js
Meteor.publish("streams", function () {
return Streams.find();
});
client/streams.js
Meteor.subscribe("streams");
Template.body.helpers({
streams: function(){
return Streams.find();
}
});
您还需要在客户端上定义Streams
。
if(Meteor.isClient) {
Streams = new Meteor.Collection("streams");
Meteor.subscribe("streams");
Template.body.helpers = function(){
return Streams.find();
}
}
如果您使用自动发布包,这是默认的。你只需要做
lib/streams.jsStreams = new Meteor.Collection(" Streams ");
。
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- 使用服务(AngularJS)在控制器之间共享数据
- AngularJS中的页面之间共享数据返回空
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- 在Knockoutjs中的ViewModels之间共享变量状态
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- Node.js服务器和浏览器之间共享二进制缓冲区
- new Datamap() 在调用之间保持内存的共享状态
- 使用Angularjs在两个不同页面的控制器之间共享数据
- 在两个浏览器选项卡之间共享变量范围
- 不同进程之间共享Node.js环境
- 在Angular Bootstrap Modal和父控制器之间共享作用域
- 2ng控制器,并且需要在控制器之间共享数据
- Javascript创建函数,以便在其他函数之间共享变量
- 在控制器angular js之间共享数据
- 在javascript客户端和java服务器之间共享Google Analytics ClientID
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 在angularJS中使用模态窗口时,在控制器之间共享对象数组