Meteor和underscoreJS - 整数的随机数组及其总和不连贯

时间:2015-09-06 13:43:09

标签: javascript meteor underscore.js

我想显示一个随机数组的整数及其相应的总和。

问题:结果不一致。

enter image description here

我的方法:

Template.registerHelper('randomNumbers', function () {
    var list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    var resultLength = _.random(1, list.length);
    var result = _.sample(_.shuffle(list), resultLength);
    return {
        result: result,
        total: _.sum(result)
    };
});

HTML模板:

<template name="displayResults">
    <tbody>
        <tr>
            {{randomNumbers.result}}
        </tr>
        <tr>
            total: {{randomNumbers.total}}
        </tr>
    </tbody>
</template>

在我看来,对于“总计”的计算,结果的功能是单独调用的。 如何让“结果”和“总数”同步?

提前致谢! VIN

1 个答案:

答案 0 :(得分:1)

您的模板存在的问题是,您需要2次调用帮助程序,并且由于随机,它将提供2对(结果,总计)。

通过使用{{#with}}块帮助程序,您只需显式调用一次帮助程序,并显示一对有效的对象。

<template name="displayResults">
  <tbody>
    {{#with randomNumbers}}
      <tr>{{result}}</tr>
      <tr>total: {{total}}</tr>
    {{/with}}
  </tbody>
</template>