javascript - Handlebars +=,-= 如果满足条件

标签 javascript jquery handlebars.js

我已经在网上搜索了一段时间,现在试图找到一种方法,使用 += 或 -=(如果满足条件)来聚合 json 数组值和 Handlebars 。但是我似乎找不到任何关于如何正确执行此操作的指南。谁能指导我如何将此迭代转换为 Handlebars 助手?

var table = $("#table tbody");
$.getJSON("front-end/ajax/bethistory.php", function(data) {
    var value = 0;
    $.each(data, function(a, b) {
        if (b.action == "win") {
            value += parseFloat(b.coins);
        } else if (b.action == "lose") {
            value -= parseFloat(b.coins);
        }
        var tbody = $("<tr/>").append($("<td/>").html(b.action), $("<td/>").html(value))
        table.append(tbody);
    });
});

类似这样的东西吗?

var value = 0;  
Handlebars.registerHelper("this_val", function(a,b) {

        if (a == "win") {
            value += parseFloat(b);
        } else if (a ==  "lose") {
            value -= parseFloat(b);
        }

        return value;

});

最佳答案

对于任何需要这个的人。我能弄清楚thanks to this post

    Handlebars.registerHelper("compute", function(array, options) {

        var new_array = "",
        value = 0,
        count = array.length;

        for (var i = 0; i < array.length; i++) {

            var coins = Number(array[i]['coins']),
            action = array[i]['action'];

            if (action == "win") {
                if (coins > 0) {
                    value += coins;
                }
            } else if (action == "lose") {
                if (coins > 0) {
                    value -= coins;
                }
            }

            array[i]['running'] = value;
            new_array += options.fn(array[i]);
        }
        return new_array;
    });

关于javascript - Handlebars +=,-= 如果满足条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838867/

相关文章:

javascript - jQuery Ajax 如何告诉 jquery 在哪里附加从 Ajax 调用返回的 html 数据

javascript - 迭代 json 并找到特定的键

javascript - 是否可以将条件或其他 javascript 作为参数传递给 ember handlebars?

javascript - 可以在没有 Ember.js 的情况下使用 HTMLbar 吗?

javascript - Handlebars.js - 如何在模板中使用 JS 中的变量?

javascript - 如何在 Typescript 中正确使用接口(interface)

javascript - 三.JS给物体赋 Material Color

javascript - 将 Maya 场景转换为 JavaScript 或 WebGL

javascript - jQuery 仅在页面刷新时触发

javascript - 使垂直网格线出现在跨表单元格的顶部