【问题标题】:In Meteor is it possible to flush per row of a table?在 Meteor 中是否可以刷新表格的每一行?
【发布时间】:2015-03-12 18:21:26
【问题描述】:

我正在构建一个 Meteor 应用程序,我必须在其中显示一个可变长度的计算结果表。计算在 Meteor 中完成并显示在行的单元格中 - 表中的每个单元格都是基于复杂计算的数字结果。最后我想显示每一行的总计算。

calcresult1 calcresult2 row1sum
calcresult3 calcresult4 row2sum
:
(行数可变)

如何根据每行的计算结果有效地计算行总和?

我可以设置一个会话变量,在渲染行中的单元格时对其求和,然后在要渲染每个行和时刷新总数?

【问题讨论】:

  • 添加一个Tracker.autorun() 并包含更改的变量(您的calcresult)。每次变量变化时,重新计算rowSum变量
  • 这个问题与您发布的其他问题有何不同? stackoverflow.com/questions/29021574/…
  • 我会试试这个,看看它是否重新运行计算结果(我试图避免),并看看它是否适用于对列求和(如我的另一个问题) ,并报告我的发现
  • 嗨dayuloli,我在另一个问题中添加了更多细节。部分问题是我不知道如何使用 sum autoruns 或 sum helpers 访问计算的 calcresults。

标签: meteor


【解决方案1】:

如果每行每次都有相同数量的单元格,您可以将每个单元格助手的结果传递给最终助手。

<template name="calcTable">
    <table>
        {{#each calcRow}}
            <tr>
                <td>{{calcresult1}}</td>
                <td>{{calcresult2}}</td>
                <td>{{rowsum calcresult1 calcresult2}}</td>
            </tr>
        {{/each}}
    </table>
</template name="calcTable">

-

Template.calcTable.helpers({
    calcresult1: function() {
        return result;
    },

    calcresult2: function() {
        return result;
    },

    rowsum: function(calcresult1, calcresult2) {
        return calcresult1 + calcresult2;
    }
});

【讨论】:

  • 在您的解决方案中,rowsum 是否通过重新计算获得 calcresult1 和 2 的值?
猜你喜欢
  • 2016-10-16
  • 2019-08-29
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多