Javascript 如何访问把手模板中的功能?

Javascript 如何访问把手模板中的功能?,javascript,handlebars.js,Javascript,Handlebars.js,如何在把手模板中获取getSum()的值 当我调用{{App.Address.getsum}时,它将返回字符串。它包括了所有的功能部分。 如何获得正确的值 我试图获取getsum的值 App.Address = { details: [ { "time": "11.56", "size": 10540, "price": "789.5", "direction": "D

如何在把手模板中获取
getSum()
的值

当我调用
{{App.Address.getsum}
时,它将返回字符串。它包括了所有的功能部分。 如何获得正确的值

我试图获取getsum的值

App.Address = {    
    details: [
        {
            "time": "11.56",
            "size": 10540,
            "price": "789.5",
            "direction": "Down",
            "side": "Sell",
            "change": "9.5",
            "check": "true"
        },
        {
            "time": "14.56",
            "size": 145500,
            "price": "555.5",
            "direction": "Up",
            "side": "Buy",
            "change": "5.5"
        }, {
            "time": "15.56",
            "size": 15550,
            "price": "456",
            "direction": "Down",
            "side": "Sell",
            "change": "9.5",
            "check": "true"
        }, {
            "time": "11.45",
            "size": 14550,
            "price": "23.5",
            "direction": "Down",
            "side": "Buy",
            "change": "5.5"
        }, {
            "time": "11.22",
            "size": 54500,
            "price": "2.5",
            "direction": "Down",
            "side": "Sell",
            "change": "6.8",
            "check": "true"
        }, {
            "time": "20.56",
            "size": 110550,
            "price": "11.8",
            "direction": "Down",
            "side": "Buy",
            "change": "3.5"
        }, {
            "time": "11.13",
            "size": 14343432,
            "price": "88.8",
            "direction": "Down",
            "side": "Buy",
            "change": "2.5"
        },

        {
            "time": "13.56",
            "size": 23423434,
            "price": "855.8",
            "direction": "Up",
            "side": "Sell",
            "change": "1.8",
            "check": "true"
        }, {
            "time": "11.33",
            "size": 233,
            "price": "86.5",
            "direction": "Up",
            "side": "Buy",
            "change": "6.8"
        }, {
            "time": "11.56",
            "size": 153243,
            "price": "28.5",
            "direction": "Up",
            "side": "Buy",
            "change": "5.8"
        }, {
            "time": "11.15",
            "size": 1344,
            "price": "456",
            "direction": "Down",
            "side": "Buy",
            "change": "1.1"
        }
    ],
    getSum: function() {
        var details = this.details;
        var sum = 0;

        for (var i = 0, length = details.length; i < length; i++) {
            sum += parseInt(details[i].size, 10);
        }
        return sum;    
    }
}
App.Address={
详情:[
{
“时间”:“11.56”,
“尺寸”:10540,
“价格”:“789.5”,
“方向”:“向下”,
“方”:“出售”,
“变更”:“9.5”,
“检查”:“正确”
},
{
“时间”:“14.56”,
“尺寸”:145500,
“价格”:“555.5”,
“方向”:“向上”,
“边”:“买”,
“变更”:“5.5”
}, {
“时间”:“15.56”,
“尺寸”:15550,
“价格”:“456”,
“方向”:“向下”,
“方”:“出售”,
“变更”:“9.5”,
“检查”:“正确”
}, {
“时间”:“11.45”,
“尺寸”:14550,
“价格”:“23.5”,
“方向”:“向下”,
“边”:“买”,
“变更”:“5.5”
}, {
“时间”:“11.22”,
“尺寸”:54500,
“价格”:“2.5”,
“方向”:“向下”,
“方”:“出售”,
“变更”:“6.8”,
“检查”:“正确”
}, {
“时间”:“20.56”,
“尺寸”:110550,
“价格”:“11.8”,
“方向”:“向下”,
“边”:“买”,
“变更”:“3.5”
}, {
“时间”:“11.13”,
“尺寸”:1434332,
“价格”:“88.8”,
“方向”:“向下”,
“边”:“买”,
“变更”:“2.5”
},
{
“时间”:“13.56”,
“尺寸”:23434,
“价格”:“855.8”,
“方向”:“向上”,
“方”:“出售”,
“变更”:“1.8”,
“检查”:“正确”
}, {
“时间”:“11.33”,
“大小”:233,
“价格”:“86.5”,
“方向”:“向上”,
“边”:“买”,
“更改”:“6.8”
}, {
“时间”:“11.56”,
“尺寸”:153243,
“价格”:“28.5”,
“方向”:“向上”,
“边”:“买”,
“变更”:“5.8”
}, {
“时间”:“11.15”,
“大小”:1344,
“价格”:“456”,
“方向”:“向下”,
“边”:“买”,
“变更”:“1.1”
}
],
getSum:function(){
var details=this.details;
var总和=0;
对于(变量i=0,长度=details.length;i
将函数创建为属性

getSum: function() {
        var details = this.details;
        var sum = 0;

        for (var i = 0, length = details.length; i < length; i++) {
            sum += parseInt(details[i].size, 10);
        }
        return sum;
    }.property()
getSum:function(){
var details=this.details;
var总和=0;
对于(变量i=0,长度=details.length;i

然后您可以通过模板中的{{App.Address.getSum}}调用它。

是否只分配给变量/属性<代码>模板({myValue:App.Address.getSum()})
。在人类历史的某个时刻,有些人认为在模板中调用函数应该是一种不好的做法,因此在Handlebar这样的库中无法这样做。相反,你可以按照@FelixKling的建议去做,或者创建一个助手;有关帮助者的详细信息,请参见:此外,这里还有一个完整的教程: