Список усилителей с динамической высотой
Я использую список усилителей, и я хотел бы иметь динамическую высоту, основанную на результатах, которые я получил. Есть способ сделать это? Я не мог сделать это.
<amp-list src="request-url">
<template type="amp-mustache" id="amp-template-id">
...
</template>
</amp-list>
Для всех доступных макетов требуются размеры на уровне списка усилителей или родительского уровня. Однако я не хочу указывать высоту. Мои результаты могут иметь 1 или 12 пунктов.
1 ответ
В AMP нет динамического макета (это позволяет избежать перекомпоновки во время загрузки страницы, что является одним из больших преимуществ AMP). Однако список усилителей автоматически займет больше места, если потребуется (и будет доступен).
Вы можете сделать следующие три вещи, чтобы поддержать это:
- Используйте макет фиксированной высоты с достаточной высотой, чтобы включить первый элемент. Это гарантирует, что список не займет слишком много места в случае, если есть только один элемент.
- Укажите кнопку переполнения в случае, если список свернут.
- Включите время выполнения amp, чтобы освободить место в списке, поместив список под начальным окном просмотра или как можно ниже.
Вот что официальные документы говорят об этом:
Если после загрузки amp-list требуется больше места, он запрашивает время выполнения AMP, чтобы обновить его высоту, используя обычный поток AMP. Если AMP Runtime не может удовлетворить запрос на новую высоту, он отобразит элемент переполнения, когда он будет доступен. Однако обратите внимание, что типичное расположение элементов списка усилителей внизу документа почти всегда гарантирует, что среда выполнения AMP может изменить его размер.
источник: https://www.ampproject.org/docs/reference/components/amp-list