Вы можете иметь встроенный код JavaScript в своем шаблоне, который разделит переменную координат. Вот пример из документации:
var tpl = new Ext.XTemplate(
'<p>Name: {name}</p>',
'<p>Company: {[values.company.toUpperCase() + ", " + values.title]}</p>',
'<p>Kids: ',
'<tpl for="kids">',
'<div class="{[xindex % 2 === 0 ? "even" : "odd"]}">',
'{name}',
'</div>',
'</tpl></p>'
);
Обратите внимание, как обрабатывается values.company.toUpperCase()
. Таким образом, чтобы добраться до вашей переменной вы можете сделать values.coordinates
.
Другое решение - использовать функцию-член шаблона. Вот еще один пример из документов sencha.
var tpl = new Ext.XTemplate(
'<p>Name: {name}</p>',
'<p>Kids: ',
'<tpl for="kids">',
'<tpl if="this.isGirl(name)">',
'<p>Girl: {name} - {age}</p>',
'</tpl>',
// use opposite if statement to simulate 'else' processing:
'<tpl if="this.isGirl(name) == false">',
'<p>Boy: {name} - {age}</p>',
'</tpl>',
'<tpl if="this.isBaby(age)">',
'<p>{name} is a baby!</p>',
'</tpl>',
'</tpl></p>',
{
// XTemplate configuration:
compiled: true,
// member functions:
isGirl: function(name){
return name == 'Sara Grace';
},
isBaby: function(age){
return age < 1;
}
}
);
Проверьте документы здесь http://docs.sencha.com/touch/1-1/#!/api/Ext.XTemplate, если вам нужна дополнительная помощь.
Определите объект tpl
перед этим кодом.
MyAPP.listPanel = new Ext.List({
id: 'indexlist',
store: MyAPP.ListStore,
itemTpl: tpl // use the tpl object like this
});