0
編輯:作爲原來的問題太含糊我已經更新它,使之更加具體流星儀表板和發佈/訂閱
我想創建流星儀表板顯示了有關我的收藏一些統計數據(例如,多少文檔,多少用戶......)。我一直在嘗試過去的日子,但似乎無法找到一個好的/聰明的方式。
我最初只是做了以下內容:
Template.dashboard.helpers({
getProductsCount: function() {
return Products.find().count();
}
});
這沒有奏效。我認爲,因爲它計數從minimongo產品的數量,但不確定。
然後我做了以下內容:
- 在模板助手,調用一個方法,讓顯示儀表板頁面上的值(不工作)
- 卻被告知不能使用的pub/sub機制,這種類型的指標
- 通過Session變量曾任職(沒有工作,但感覺有點陌生,這類指標數據存儲在會話變量
於是我在另一個SO響應AB閱讀出反應變量和嘗試了以下內容:
Template.dashboard.helpers({
getProductsCount: function() {
return Template.instance().myAsyncValue.get();
}
});
Template.dashboard.created = function() {
var self = this;
self.myAsyncValue = new ReactiveVar("Waiting for response from server");
Meteor.call('getProductsCount', function(error, asyncValue){
if (error)
console.log(error);
else
self.myAsyncValue.set(asyncValue);
});
};
這工作,但我覺得對作爲顯示產品數量(或任何其他度量)這樣簡單的事情這非常困難。不知道我明白我爲什麼應該使用某些作爲反應變量的原因嗎?
隨後的curiosity-退房手續我嘗試以下(使用流星添加簡單:功法)和它的作品:
Template.customerDashboard.helpers({
getProductsCount: function() {
return ReactiveMethod.call("getProductsCount");
}
});
所以,真正的問題是,爲什麼必須使用無變量和方法像這樣簡單。有人可以解釋嗎?
[此問題太模糊,不適合SO](http://stackoverflow.com/help/dont-ask)。但[發佈計數](https://atmospherejs.com/tmeasday/publish-counts)軟件包可能會對您有所幫助。 – JeremyK
你也應該看看[msavin:mongol](https://atmospherejs.com/msavin/mongol)作爲一個很好的例子。他的代碼也在github上。 –
我已更新原始問題以使其更具體。 – wiwa1978