Клуб API Карт

Как пересобрать layout? ( обновить шаблон )

Innuendo108
9 ноября 2011, 03:50

В API есть такой пример: 


 
// Создает HTML-элемент DIV, содержащий текст "пробный текст".
template = new YMaps.Template("<div>$[customText|текст по умолчанию]</div>");
YMaps.Templates.add("example#template", template);
var layout = template.build({customText: "пробный текст"});
layout.onAddToParent(document.body);
Таким образом я добавляю некоторые элементы в список. Но позже один из элементов изменился 
( данные его поменялись - $[customText] к примеру). Как мне пересобрать этот шаблон с новыми данными?

Я пытался - удалить элемент, собрать его заново и вставить, но проблема - посредством API я не могу
вставить элемент в нужное мне место ( между определенными элементами), я могу только сделать append
т.е. вставить в конец списка.


P.S. У элемента layout есть метод update(). Но как им пользоваться, в API абсолютно не описан он. Как передать новые данные?
2 комментария
Подписаться на комментарии к посту

не очень понял про append

этот метод вообще не из АПИ, а из jQuery.

 

метод update есть у лайаута балуна, а не у шаблона

я не про append jQuery писал, а про onAddToParent (что по сутия вляется append'ом )

я решил проблему, но она решается не очень удобно:

мы можем получить jQuery элемент собранного шаблона через getRootNodes(), если добавим наш собранный шаблон куда-то (к примеру в специальный скрытый элемент). А тогда уже через любые jquery методы можно с элементом что угодно делать.