Angular 2.0 Meteor:如何正确订阅collection?
Angular 2.0 Meteor: How to subscribe collection correctly?
我已经在服务器端使用以下代码为 collection 引入了一个发布者:
Meteor.publish('posts', () => Posts.find());
现在我想在客户端订阅collection。例如,每当数据更改时,我想将 collection 中的条目数打印到控制台:
ngOnInit() {
Meteor.subscribe('posts', () => {
console.log(Posts.find().count());
});
}
结果让我有些困惑:
Observable {_isScalar: false, source: ObservableCursor, operator: CountOperator}
看来我误解了整个概念。实现此功能的正确方法是什么?
我认为你遗漏了一些我通常放在 /common 中的通用代码
model.js:
// Collections that exist on the server database
Posts = new Mongo.Collection("posts");
这样做的效果是使 'Posts' 成为客户端和服务器代码中的一个变量。
组件代码:
Meteor.subscribe('posts', () => []);
this.helpers({
posts: () => Posts.find(),
在客户端,我创建了一个 count
函数:
myCount(p:any) {
return p.fetch().length;
}
并在我的 html
页面中添加了该功能:
{{ myCount(posts) }}
我已经在服务器端使用以下代码为 collection 引入了一个发布者:
Meteor.publish('posts', () => Posts.find());
现在我想在客户端订阅collection。例如,每当数据更改时,我想将 collection 中的条目数打印到控制台:
ngOnInit() {
Meteor.subscribe('posts', () => {
console.log(Posts.find().count());
});
}
结果让我有些困惑:
Observable {_isScalar: false, source: ObservableCursor, operator: CountOperator}
看来我误解了整个概念。实现此功能的正确方法是什么?
我认为你遗漏了一些我通常放在 /common 中的通用代码
model.js:
// Collections that exist on the server database
Posts = new Mongo.Collection("posts");
这样做的效果是使 'Posts' 成为客户端和服务器代码中的一个变量。
组件代码:
Meteor.subscribe('posts', () => []);
this.helpers({
posts: () => Posts.find(),
在客户端,我创建了一个 count
函数:
myCount(p:any) {
return p.fetch().length;
}
并在我的 html
页面中添加了该功能:
{{ myCount(posts) }}