Задать вопрос
@alstin

В Handlebars некорректно срабатывает логическая проверка, как починисть?

Доброго времени суток!
код шаблона и двух роутов express на jsfiddle.net

Передаю в роутах объект, через res.render, последним свойством передаю строку. В каждом роуте как Вы заметили разное значение строки. В шаблоне Handlebars делаю проверку этих строк в хелперах {{#unlessEq page 'home' }} - page !== 'home' и {{#eq page 'artistList'}} - page === 'artistList'.

Эта проверка находится в {{#each artists}}. Вне {{#each artists}} проверка работает как надо, внутри {{#each artists}} всегда проходит true по первой и false по второй проверке (с чем связано не понятно), вне зависимости по какому роуту я перешел. {{#each artists}} ни как не реагирует на свойство post которого нету в массиве объектов artists, когда в {{#each artists}} пытаюсь просто вывести {{post}} то ничего не выводит, ни на странице в браузере ни в консоли нету ошибок и вообще {{post}} ни как себя не проявляет.

Пробовал по разному писать ради эксперимента, что бы увидеть что будет, и так писал {{#unlessEq @page 'home' }} и так {{#unlessEq $page 'home' }} не реагирует, а когда пишу так {{#unlessEq (page 'artistList)'}} в браузере выводит что нету хелпера page -- Missing helper: "page", а вот так {{#unlessEq {{page}} 'home' }} выводит в браузере -- Parse error on line 18:

Вопрос как post вставить в проверку что бы она корректно заработала? Повторюсь вне each все работает как надо.
Или может вообще Handlebars так не умеет а я его мучаю) и тут нужен свой костылёк))
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
очевидно же, что page внутри вашего each не определены, потому и не работает как надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы