在Ext Xtemplate中计算

时间:2012-12-19 21:37:53

标签: javascript extjs

我尝试在Ext XTemplate中进行计算。根据我阅读的文档,可以使用简单的{x + y}标签,但是这不适用于2个变量,所以我尝试使用{[x + y]},但随后模板渲染在此之后停止。

var tpl = new Ext.XTemplate('{x} + {y} = {[x + y]} thats it.');
console.log( tpl.apply({x: 1.5, y: 2}) );​

结果。

1.5 + 2 = 

我用我的尝试制作了jsFiddle http://jsfiddle.net/VnFR3/1/

任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:3)

试试这个:

var tpl = new Ext.XTemplate('{x} + {y} = {[values.x+values.y]} thats it');
console.log( tpl.apply({x: 1.5, y: 2}) );

替代功能:

var tpl = new Ext.XTemplate('{x} + {y} = {[values.x+values.y]}  or ',
                            '{[this.add( values.x,values.y )]}',{
    add:function(x,y){
        return x+y;
    }
});
console.log( tpl.apply({x: 1.5, y: 2}) );

与代码的重要区别是在[]代码执行模板中使用 values 对象。文档不够清楚。