2016-12-21 4 views
1

ノードを練習中ですが、少し問題がありました。私は、テンプレートエンジンとしてハンドルバーを使用しています。そして、私のデータベースとのやりとりにはマングースを使用しています。私.hbsテンプレートでは、私は、データベースから各レコードをループしていますし、もちろん私は#eachとpredmetiをループイムは、エンジンは、私がしようと、エラーがスローされます今配列をループする際にハンドルバーの数式が表示される

router.get('/', function(req, res, next) { 
Exam.find(function(err, predmeti) { 
if (err) { 
    console.log(err); 
} 
    res.render('index',{ 
    predmeti: predmeti 
    }) 
}) 

}); 

と私のビューにレコードを渡しますこのよう

{{#each predmeti}} 
<h1>{{100/(brKolokvijuma/finished)}}</h1> 
{{/each}} 

brKolokvijuma and finished両方

としてやって数学式は、数値を持っていますが、何らかの理由で私はエラー 期待IDが

だから私は漢を想定していOPEN_SEXPRました取得します私が配列をループしているとき、dlebarsは私に数式表現をさせません。これをどうすれば解決できますか?

答えて

1

ハンドルバーには、ビューではい​​けないと思うことを実行できるようにするためのプラグインがありますが、それでも誰もが望んでいます。

the Assemble.io maths helpersとネストされた式の場合のような何かを行うことができますでしょう:

{{#each predmeti}} 
    <h1>{{divide 100 (divide brKolokvijuma finished)}}</h1> 
{{/each}} 

第二の方法、あなたの数学表現はとても多様で、あなたの意見を中心に再利用されていない場合(一般的な計算例:税または丸め)テンプレートに呼び出され

Handlebars.registerHelper("divideMyThings", function(thing1, thing2, thing3) { 
    return thing1/thing2/thing3; 
}); 

{{divideMyThings 100 brKolokvijuma finished}} 
、あなた自身の簡素/ライタープラグインを書くことができます

第3に、変数が1つしかないときにデータテーブルを事前計算してから、builtin lookup featureを使用することができます。これには追加のプラグインは必要ありません。これはおそらくこの特定の質問には役に立ちませんが、私はそれをツールとして言及したいと思いました。

関連する問題