在数组中循环时,手柄上的mathexpression式

我正在练习节点,我遇到了一个小问题。 我使用句柄作为模板引擎,mongoose与我的数据库进行交互。 在我的.hbs模板中,我循环遍历数据库中的每条logging,当然,我将logging传递给了我的视图

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

现在,当我使用#each遍历predmeti时,引擎会在尝试执行mathexpression式时抛出一个错误

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

brKolokvijuma and finished都有一个数值,但由于某种原因,我得到一个错误期待ID得到OPEN_SEXPR

所以我假设handlebars不会让我做mathexpression式,当我通过数组循环。 我该如何解决这个问题?

Handlebars有插件,可以让你做他们认为你不应该做的事情,但每个人都想要。

例如,Assemble.iomath帮助器和嵌套expression式可以让你做一些事情:

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

第二种方法,如果你的mathexpression式没有如此多样化和重复使用你的观点(通常的计算,例如税收或舍入),你可以写你自己的更简单/更轻的插件:

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

在您的模板中调用:

 {{divideMyThings 100 brKolokvijuma finished}} 

第三,通常可以预先计算数据表,直到只有一个variables,然后使用内置的查找function 。 这不需要额外的插件。 这可能对这个具体的问题没有帮助,但我想我会提到它作为一个工具。