Я использую шаблонизатор подчеркивания в Backbone с шаблонами форматирования усов.
Я уже успешно использовал его в других местах проекта, но теперь впервые использую шаблоны циклического списка из усов, чтобы заполнить шаблон, который выдает ошибку, из-за которой я немного сбит с толку.
Ошибка в chrome:
"Uncaught SyntaxError: Unexpected token ILLEGAL"
и указывает на функцию шаблона подчеркивания в backtrace, которая довольно бесполезна, но в firebug я получаю более полезную ошибку, такую как:
Предполагается, что хеш-символ '#' - это проблема, которая имеет смысл, поскольку я знаю, что усы работают нормально, поскольку во многих других частях проекта он используется хорошо, также я впервые использую символ хэша в моих шаблонах. Это похоже на проблему либо с функцией зацикливания, либо с настройками интерполяции / шаблона для подчеркивания.
Вот соответствующая часть моего шаблона:
<div class="thumblist thumblistleft" id="currentprojectslist">
<div class="thumb-list-header">
<h2>current projects</h2>
</div>
<div class="thumb-list-area">
<ol>
{{#worklist}} <!----- LOOK HERE --->
{{#current}}
<li><a>{{title}}</a></li>
{{/current}}
{{/worklist}}
</ol>
</div>
</div>
и вот пример JSON (все отлично проверяется)
{blah blah blah lot in here before,"worklist":[{"thumb":"img/project-s.jpg","id":"340","title":"Test Project One","desc":"big load of content here","current":true}], and so on....}
Сначала я следовал этому примеру для справки:
http://mustache.github.com/#demo
СЕЙЧАС ЗДЕСЬ, ГДЕ Я ДУМАЮ, ЧТО МОЖЕТ БЫТЬ:
underscore.js предлагает использовать это перед рендерингом шаблона усов:
_.templateSettings = {
evaluate : /\{\[([\s\S]+?)\]\}/g,
interpolate : /\{\{([\s\S]+?)\}\}/g
};
также:
interpolate : /\{\{(.+?)\}\}/g
Также только интерполяционное утверждение, я попробовал оба. Однако мои знания в области регулярных выражений действительно плохие, и у меня есть ощущение, что это может не вместить хэш? Во всяком случае .... Я полностью в тупике.
Может ли кто-нибудь помочь мне здесь?
Возможно ли даже зациклить? глядя на источник подчеркивания, я не уверен:
http://documentcloud.github.com/underscore/docs/underscore.html#section-120
Большое спасибо