Использование шаблонов усов с knockout.js - PullRequest
10 голосов
/ 19 сентября 2011

Я хочу использовать knockout.js, но, к сожалению, я не могу использовать jquery-tmpl из-за предпосылки jquery 1.4.2, которую (я не буду здесь вдаваться в подробности) мы не можем обновить до.

Кто-нибудь получил какие-нибудь советы по началу работы с шаблонами Mustache с нокаутом? Мне было сложно найти какую-либо информацию об этом.

1 Ответ

21 голосов
/ 19 сентября 2011

Обновление Я выпустил начальную версию движка шаблонов для нокаута js, который использует усы в качестве библиотеки шаблонов.Вы можете проверить это в https://github.com/WTK/ko.mustache.js


Вы видели эту часть документации http://knockoutjs.com/documentation/template-binding.html?Особенно внимательно посмотрите на Note 8 , который указывает вам проверить jqueryTmplTemplateEngine.js в исходном коде нокаута (чтобы сэкономить вам усилия на поиске, вот этот: https://github.com/SteveSanderson/knockout/blob/master/src/templating/jquery.tmpl/jqueryTmplTemplateEngine.js).

Я только что взглянул на источник этого файла, но все кажется довольно простым. Вы должны определить пару функций обратного вызова, которые (я предполагаю) вызываются нокаутом js при необходимости.

Эти функции включают:

function renderTemplateSource(templateSource, bindingContext, options) {}
function createJavaScriptEvaluatorBlock(script) {}
function addTemplate(templateName, templateMarkup) {}

Проверьте, что возвращают эти функции при использовании jquery.tmpl, и попытайтесь имитировать их поведение, используя вместо этого усы.

...