Как получить текущий предмет

Я использую Борис Мур jsRender http://www.borismoore.com/ и пытаюсь получить экземпляр каждого предмета. Кто-нибудь знает как это сделать?

//render
$("divName").html(
    $('#templateName').render('data')
);

//get instance. Here is my problem
$(".PriceFromPerHotel").each(function () {
                selectedItem = $.tmplItem(this);
});

С помощью

selectedItem = $.tmplItem(this);

Я получаю сообщение об ошибке

Object function (a,b){return new e.fn.init(a,b,h)} has no method 'tmplItem'

ИЗМЕНИТЬ

исключение без метода решается путем добавления библиотеки шаблонов jQuery. Проблема в том, что я получаю пустой объект. Он не возвращает экземпляр.

Вот мой html-код

<script id="templateName" type="text/x-jsrender">
<div class="resultsBox">
        //lot of code has here
        <p class="offerSiloPrice">{{:Currency}} <span class="PriceFromPerHotel"></span></p>                 
</div>

Thanks


person profanis    schedule 15.03.2012    source источник
comment
попробуйте selectedItem = $.tmplItem($(this)); или selectedItem = $(this).tmplItem();   -  person mgraph    schedule 15.03.2012
comment
Я попробовал, но ничего не изменилось. Я получаю сообщение об ошибке в обоих случаях [Функция объекта (a,b){return new e.fn.init(a,b,h)} не имеет метода 'tmplItem']   -  person profanis    schedule 15.03.2012
comment
вам следует загрузить плагины и вызвать их на своей странице.   -  person mgraph    schedule 15.03.2012
comment
Я думал, что jquery.tmpl находится в одном файле скрипта с jsRender. Это помогло. Большое спасибо   -  person profanis    schedule 15.03.2012


Ответы (1)


tmplItem() — это синтаксис шаблонов jQuery. В JsRender эквивалент $.view(). Здесь есть несколько примеров: http://borismoore.github.com/jsviews/demos/index. HTML. Вы должны использовать шаблоны JsRender ИЛИ jQuery. У них разные теги шаблонов и разные API.

В JsRender все учитывается иначе, чем в шаблонах jQuery. Шаблоны jQuery имеют зависимость от DOM и предоставляют функцию $.tmplItem(). JsRender не имеет зависимости от DOM и выполняет «чистый рендеринг на основе строк», что значительно ускоряет работу в сценариях, где вам не требуется связывание данных, и вам не нужна функция $.tmplItem() для получения из элемент DOM в отображаемый шаблон, из которого он был получен.

Но если вам нужны эти функции, вы включаете JsViews на свою страницу, которая представляет собой слой поверх JsRender и предоставляет эквивалентные функции, связанные с DOM, шаблонов jQuery и многое другое...

В JsViews tmplItem называется «представлением».

$(selectorOrElement).tmplItem() 

в шаблонах jQuery соответствует

$(selectorOrElement).view() 

в JsViews.

person BorisMoore    schedule 20.03.2012