if/else совместимость с Mustache.php и Handlebars 2.0.0
Мои операторы if else, использующие "^" для "false" или "not", работали как в Handlebars 1.3.0, так и в Mustache.php. Когда я пытаюсь использовать ^ для "если нет" в Handlebars 2.0.0, он всегда игнорирует этот блок, независимо от того, является ли он истинным или ложным?
{{#repo}}
<b>{{name}}</b>
{{/repo}}
{{^repo}}
No repos :({
{{/repo}}
1 ответ
Ну это не просто if/else
заявления, те ^
внутри {{}}
называются перевернутыми секциями
Перевернутая секция начинается с каретки (шляпы) и заканчивается косой чертой. То есть {{^person}} начинает инвертированный раздел "персона", а {{/person}} заканчивает его.
В то время как разделы могут использоваться для визуализации текста один или несколько раз на основе значения ключа, инвертированные разделы могут отображать текст один раз на основе обратного значения ключа. То есть они будут отображаться, если ключ не существует, имеет значение false или является пустым списком.
И нет проблем совместимости при использовании mustache
с handlebars 2.0
, убедитесь, что хеш выглядит так.
{
"repo": [] //or :false //or well it dosnt exists
}
Также вы можете взглянуть на это предложение, чтобы изменить некоторые усы