2016-11-17 18 views
0

我介紹了一個出版商在用下面的代碼在服務器端的集合:Angular 2.0 Meteor:如何正確訂閱收藏?

Meteor.publish('posts',() => Posts.find());

現在我要訂閱收藏在客戶端。作爲一個例子,我想打印的條目數的集合到控制檯,只要數據發生了變化:

ngOnInit() { Meteor.subscribe('posts',() => { console.log(Posts.find().count()); }); }

結果是有點難以理解對我說:

Observable {_isScalar: false, source: ObservableCursor, operator: CountOperator}

我似乎誤解了整個概念。什麼是實現這種功能的正確方法?

回答

1

我認爲你缺少一些常見的代碼,我通常把在/共同

model.js:

// Collections that exist on the server database 
Posts = new Mongo.Collection("posts"); 

這樣做的效果是使「信息」在這兩個客戶端的變量和服務器代碼。

組件代碼:

Meteor.subscribe('posts',() => []); 

this.helpers({ 
    posts:() => Posts.find(), 
0

在客戶端我創建了一個count功能:

myCount(p:any) { 
    return p.fetch().length; 
} 

,在我html頁面我添加了功能:

{{ myCount(posts) }}