2016-04-27 68 views
0

再次有人請幫助我。我仍然無法解決這個問題。我想計算類別,但仍然無法正常工作。這是我的代碼。流星:計數值

//js 
Template.count.helpers({ 
     profil: function() { 
     Meteor.call("profil", function(err, res){ 
     if(!err) Session.set("profil", res); 
     }); 
     return Session.get("profil"); 
     } 
    }); 

//server 
Meteor.methods({ 
    profil: function() { 
     return Profil.find({status: 'available', 
    categories: 'PTR' }).count(); 
    } 
}); 

//html 
{{profil}} 

回答

0

是模板內部的{{profil}},例如,像這樣:<template name="count"> {{profil}} </template>

此外,這不會反應。你必須直接放在Profil.find({status: 'available', categories: 'PTR' }).count();的helper方法爲它註冊的依賴(當PROFIL集合更新即會自動更新。)

這應該工作,並反應:

// js 
Template.count.helpers({ 
    profil: function() { 
    return Profil.find({status: 'available', categories: 'PTR' }).count(); 
    } 
}); 


// html 
<template name="count"> {{profil}} </template> 
+0

謝謝,這個代碼工作。還有一個問題是如何顯示更多類別,如PTR和COM。我喜歡這個代碼Profil.find({status:'available', categories:{$ in:['PTR','COM']} })。count(); 。此代碼只讀一次。 –

+0

你能否澄清這個新問題?另外,如果您的問題確實回答了您的問題,您能否將其標記爲已回答? – Mickl

+0

在js和''。 雖然這是初級流星,但您應該首先了解他們的[優秀教程](https://www.meteor.com/tutorials/blaze/creating-an-app)! – Mickl

0

您可以使用簡單:被動方法用於這些類型的方法調用。

之前(不工作)

Template.foo.helpers({ 
    methodResult: function() { 
     Meteor.call("myMethod", "a", "b", function (err, result) { 
      return result; // this doesn't work!!! 
     }); 
    } 
}); 

後(作品!)

​​

欲瞭解更多信息,你可以檢查此link