jsRender — сборка 54 — рендеринг не определен

обновлен до сборки 54, каждый раз, когда я пытаюсь выполнить рендеринг, я получаю «неопределенную» ошибку. Это функция, которую я вызываю:

var div = $(template).render(_content);

Если откатиться на билд 53 все работает. Различался ли код между сборкой 53 и сборкой 54 jsrender.js и заметил в строке 72 сборки 53, объявление render: $render, отсутствует в сборке 54. Есть ли изменение синтаксиса, которого я не видел в онлайн-документе?


person Joe Vivona    schedule 17.07.2014    source источник


Ответы (1)


Этот синтаксис

var renderedHtml = $("#myTmpl").render(myData);

корректно работает в билде 54.

См. http://www.jsviews.com/#db.render.

Назначение $(xxx).render(myData) API состоит в том, что xxx является либо элементом HTML, либо селектором, ссылаясь в обоих случаях на элемент скрипта, содержащий разметку вашего шаблона.

Если вы уже скомпилировали свой шаблон, например. из строки, то следует использовать синтаксис myCompiledTemplate.render(myData). (См. http://www.jsviews.com/#tmplrender).

В сборке 53 запись $(myCompiledTemplate).render(data) была (ложно) эквивалентной правильной myCompiledTemplate.render(data), но она не была производительной (ненужное создание экземпляра объекта jQuery) и было неправильным использованием. Этот синтаксис не поддерживается...

Вот ваш обновленный jsfiddle: http://jsfiddle.net/w5vFd/2/

person BorisMoore    schedule 17.07.2014
comment
ОК, вот моя скрипка работает против 54 jsfiddle.net/w5vFd/1. Я получаю неопределенное значение not функция. Если я запускаю этот точный код против 53, он работает - person Joe Vivona; 18.07.2014