Руль не заполняет таблицу
Я использую Handlebars (v 1.0.0), чтобы заполнить таблицу в HTML. Однако как-то это не заполняет таблицу, как я привык.
Вот мой шаблон:
{{#if users}}
{{#each users}}
{{username}}
{{email}}
{{/each}}
{{else}}
No users found!
{{/if}}
Поэтому я нахожу пользователей, потому что я не вижу "Пользователи не найдены!" и когда я вызываю пустой объект, он показывает "Пользователи не найдены!".
Когда я не использую таблицу и распечатываю этих пользователей, как в следующем примере. Имена пользователей и почтовый адрес будет отображаться в моем HTML.
{{#if users}}
{{#each users}}
{{username}}<br>
{{email}}<br>
{{/each}}
{{else}}
No users found!
{{/if}}
Вот как мой шаблон построен в JavaScript:
var htmlSource = $(data).html();
var template = Handlebars.compile(htmlSource);
var compiled = template(usersArray);
that.$el.html(compiled);
Теперь, когда я console.log скомпилированный объект, он нене показывать таблицу уже.
Вы знаете, почему это не таки не могли бы вы мне помочь?
РЕДАКТИРОВАТЬ:
Я просто протестировал еще несколько и обнаружил, что данные будут отображаться в HTML, когда я опускаю теги. Тем не менее
а также
победил'не показывается в HTML. Данные в нем будут показаны.
РЕДАКТИРОВАТЬ 2: Я обнаружил, что это, похоже, проблема JQuery или Javascript. Когда я console.log htmlSource, HTML-шаблон изменяется на это:
{{#if users}}
{{#each users}}
{{/each}}
{{else}}
No users found!
{{/if}}
{{username}}
{{email}}
Как видите, таблица перемещена за пределы оператора if. Я пробовал другие версии JQuery (2.0.2, 2.0.3, 2.0.1, 1.10.2), но это нет работа. Я пытался использоватьinnerXHTML Однако скрипт работает так же, как jQuery.
Так что я думаю, что это может быть проблема FireFox (хотя я пытался 25 и 26), Chrome делает то же самое ... может быть, что-то в EcmaScript ??
Я дам вам знать в ближайшее время ...
РЕДАКТИРОВАТЬ 3:
Я создал HTML-файл с нужным мне HTML. С помощью скрипта я получаю нужный мне раздел HTML и помещаю его в переменную данных.
Теперь при консольной регистрации данных (console.log (data)) нет ничего плохого. Когда консоль регистрирует данные с помощью jQuery, html изменяется: console.log ($ (data));
Кажется, что-то там не так ... но только при использовании табличных тегов. Это то, что JQuery можетт справиться? Я нея знаю Я знаю, как преодолеть эту проблему с помощью тега script ... Хотя я хотел бы загрузить это с помощью require;)
Постскриптум nemesv спасибо за тебяповторно редактирует;)