辅助功能从Node和Handlebars汇总

时间:2018-11-15 09:36:47

标签: node.js express handlebars.js

我在mongo中有Node推送到Handlebars模板的数据。我需要对数据进行计算,并且编写了一个javascript函数,该函数可以为每个记录执行所需的计算:

 sumOutput: function(data, data1, data2) {
    let impact = data * data1 * data2
    return impact 
    }

然后在Handlebars中对其进行迭代并正常工作:

{{#each project.outputs}}
 <div>{{{sumOutput outputUnits outputValue outputYears}}}</div>
{{/each}}

但是,我需要能够将其结果相加,并在另一个计算中将其用作变量。我知道将计算结果存储在数据库中是一种不好的做法,但是我不知道如何编写更好的辅助函数DRY并给出所需的信息,或者是否应该尝试编写一个从Node传递过来的:

router.get("/output/:id", (req, res) => {
  Project.findOne({
  _id: req.params.id
 })
.populate("user")
.then(project => {
    if (req.user) {
      if (req.user.id == project.user._id) {
        res.render("projects/output", {
          project: project
        });
      }else{
        res.redirect("/home");
      }
    } else {
      res.redirect("/home");
    }
});
});

0 个答案:

没有答案