Асинхронные шаблоны jQuery - PullRequest
1 голос
/ 27 января 2011

Я хотел бы иметь возможность создавать шаблоны jQuery, которые заполняются данными, извлекаемыми некоторыми асинхронными запросами, для этого мне нужно вернуться к элементам, которые я отображаю в шаблоне.Я придумал решение, использующее сгенерированное имя класса, которое я использую после рендеринга шаблона для вставки данных, но это клудж.Есть ли способ получить ссылку на визуализированный элемент из кода шаблона?Вот код, который я хотел бы получить:

<script>
function renderData(prduct_id, element){
 getProductData(product_id, function(data){
  $(e).empty();
  $("#product-info-tmpl").tmpl({"data":data}).appendTo($(element));
 }); 
}
</script>

<script id="product-info-loading-tmpl" type="text/x-jquery-tmpl">
loading
//Here is where I'd need a reference to the rendered element
${renderData(product_id, this_element_when_rendered)}
</script>

1 Ответ

0 голосов
/ 02 февраля 2011

Помогает ли это, так что в вашем случае что-то с $ item, может быть $ item.parent или что-то ...

Скопировано куда-то из http://api.jquery.com/template-tag-equal/

Элемент $и переменные шаблона $ data Следующие переменные доступны для оценки выражений в шаблонах:

$: объект jQuery.$ item: текущий элемент шаблона - который позволяет получить доступ к $ item.data, $ item.parent и т. д., а также к любым пользовательским значениям или методам, переданным с картой параметров.$ data: текущий элемент данных (эквивалентный $ item.data).Примечание. Тег шаблона с содержимым, таким как {{each}} ... {{/ each}}, может предоставлять дополнительные переменные для оценки шаблона в содержимом.Например, в случае {{each}} дополнительные переменные шаблона $ value и $ index предоставляются внутри содержимого тега {{each}}.

...