从XML中提取数据我想在将其作为变量发送到模板之前对其进行预处理。一个stackoverflow的伙伴把我指向Ext.Xtemplate,这很接近于完成这项工作。
在我的每个记录中,我都有这个模式的值“坐标”:2.342556,48.873802,0.000000 3个项目用逗号分隔。我需要第一个和第二个。
所以我决定分手,但它不起作用。
到目前为止我的尝试(试图只显示一个值用于测试目的)
代码:
var tpl = new Ext.XTemplate(
'<div>{name}<br>{[ values.coordinates.split(',')[1] ]}</div>'
);
这回音没什么。 如果我显示数组的[0]列,则显示整个字符串,未显示。这意味着它没有解析逗号。
如果我与其他东西分开则有效(例如使用整数)
代码:
var tpl = new Ext.XTemplate(
'<div>{name}<br>{[ values.coordinates.split(6)[1] ]}</div>'
);
我试图用点('。')拆分但是它会抛出一个错误(“意外的字符串”)
也许我应该使用模板成员函数,但文档中的示例对我来说不是很清楚。
感谢您的帮助,
朱利
答案 0 :(得分:0)
您需要转义单引号或使用双引号,如下所示:
var tpl = new Ext.XTemplate(
'<div>{name}<br>{[ values.coordinates.split(\',\')[1] ]}</div>'
);
否则你的电话会是这样的:
var tpl = new Ext.XTemplate(
'<div>{name}<br>{[ values.coordinates.split(', ')[1] ]}</div>'
);
即。你传递2个字符串参数而不是1。
类似的问题是:
alert( 'o' 'hi there' );
除非这会引发语法错误,因为那里没有重合符。