Handlebars.js и скрыть, если список

Пытаюсь изучить этот handlebars.js, и в настоящее время у меня есть:

<ul class = "productView-thumbnails"{{#gt product.images.length 5}} data-slick='{
                "infinite": false,
                "mobileFirst": true,
                "slidesToShow": 5,
                "slidesToScroll": 1
            }'{{/gt}}>
            {{#each product.images}}
                <li class = "productView-thumbnail">
                    <a
                        class = "productView-thumbnail-link"
                        href = "{{getImage this 'product_size' (cdn ../theme_settings.default_image_product)}}"
                        data-image-gallery-item
                        data-image-gallery-new-image-url = "{{getImage this 'product_size' (cdn ../theme_settings.default_image_product)}}"
                        data-image-gallery-zoom-image-url = "{{getImage this 'zoom_size' (cdn ../theme_settings.default_image_product)}}">
                        <img class = "lazyload" data-sizes = "auto" src = "{{cdn 'img/loading.svg'}}" data-src = "{{getImage this 'productview_thumb_size' (cdn ../theme_settings.default_image_product)}}" alt = "{{this.alt}}" title = "{{this.alt}}">
                    </a>
                </li>
            {{/each}}
        </ul>

поэтому мне нужно что-то вроде оператора IF, который указывает, что есть только одно изображение (li), а затем применить display:none к классу productView-thumbnails

Я пытаюсь скрыть весь UL, если возвращается только один LI. Возможно ли это вообще?

Если вы скроете элемент с помощью CSS, весь контент также будет скрыт — вы действительно этого хотите? Или будет уместно избегать UL и LI? Это сохранит ваш DOM правильным.

Andy 20.03.2019 20:01

в этом идея, UL — это место для миниатюр под основным изображением продукта, я не хочу показывать миниатюры, если есть только одна.

M21 20.03.2019 20:06

А вы уже определили этот gt-helper или это псевдокод?

Andy 20.03.2019 20:32
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
3
267
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно только структурировать блоки руля. Элементы управления рулем не являются элементами HTML, поэтому вы можете обернуть частичную структуру HTML в операторы if.

Учитывая, что у вас есть зарегистрированный gt-helper:

{{#gt product.images.length 1}}
<ul class = "productView-thumbnails"{{#gt product.images.length 5}} data-slick='{
…}'{{/gt}}>
{{/gt}}
{{#each product.images}}
  {{#gt product.images.length 1}}
            <li class = "productView-thumbnail">
  {{/gt}}
  …
  {{#gt product.images.length 1}}
  </li>
  {{/gt}}
{{/each}}
…
{{#gt product.images.length 1}}
</ul>
{{/gt}}

этот код уже был в платформе, я даже понятия не имею, что такое GT... руль для меня совершенно новый, но обертывание его новым тегом GT с этим 1 полностью работает! Спасибо. Очевидно, мне нужно больше узнать об этом

M21 21.03.2019 21:03

Рад, что это помогло. Существует пакет npm, который предоставляет 130 хелперов, среди них {{gt}} — может быть, он у вас установлен?

Andy 21.03.2019 21:04

не уверен? У меня есть BigCommerce, и мне приходится работать с тем, с чем он пришел. Я запросил список «помощников», но ничего не смог получить.

M21 22.03.2019 22:47

Другие вопросы по теме