2014-02-10 4 views
2

Я хочу перебирать массив в шаблоне ExtJS, но итерации не происходит.Шаблон ExtJS для цикла

var template = '<span style="margin-left :0%;display:inline">|</span><tpl for="."><tpl for="pipe"><span style="margin-left :14%;display:inline">{.}|</span></tpl></tpl>'; 

var data = {count : '6',pipe : ['1','2','3','4','5','6']}; 

var tpl = new Ext.Template(template); 
template = tpl.apply(data); 
// append template to dom 

Я использую .apply() применить полученные данные в шаблон (который извлекает количество объекта), нужно ли мне что-то вроде .overwrite для итерации и вставить новые элементы в шаблонах? и я не понимаю, в чем разница между .apply() и .overwrite()

ответ

4

Вы должны использовать Ext.XTemplate вместо Ext.Template

Ext.XTemplate имеют поддержку <tpl> команд. Ext.Template нет.

  • apply() - просто обработайте шаблон с предоставленными данными и верните фрагмент HTML как строку.
  • overwrite() - первый параметр должен быть Ext.Element или селектор элементов DOM. Затем шаблон обрабатывается с предоставленными данными, и результат используется как новое содержимое элемента.
+0

спасибо, я только что узнал :) – yashhy

+0

не могли бы вы объяснить разницу между '.apply()' и '.overwrite()' ?? – yashhy

+0

Я обновил ответ. – Akatum

Смежные вопросы