Есть ли возможность использовать if else в templateLayoutFactory

Рейтинг: 0Ответов: 1Опубликовано: 20.02.2023

Есть примерно такой (нерабочий) шаблон вывода balloon:

BalloonLayout = ymaps.templateLayoutFactory.createClass(
  "<div class='my-hint'>" +
    "<div class='title'>{{ properties.company }}</div>" +
    '{% if options.shop == YES %}да' +
    '{% else %}нет{% endif %}' +
    '</div>' +
  "</div>" , {

Задача проверять содержимое options.shop и выводить соответствующую надпись "да" или "нет". Буду благодарен любым подсказкам.

https://jsbin.com/kemepucezo/edit?html,js,output - тестовый прототип

Ответы

▲ 0Принят

Возможность есть, но по какой-то причине сейчас IF не срабатывает с options.

Можно перенести опции объектов в свойства, а в проверке прописать properties.salon == "YES". Так итоговое da будет прорастать в балун только при наличии нужного значения в поле salon.

Обратите внимание YES в этом случае заключать в кавычки нужно и в проверочной строке, поскольку в свойствах – строковое значение.

Вот ваши изменённый пример: https://jsbin.com/sorilif/edit?js,output