AMP
  • websites

amp-list

Introduction

The amp-list enables client-side rendering in AMP. Content can either be fetched from a JSON endpoint or locally from amp-state.

Setup

Import the amp-list component ...

<script async custom-element="amp-list" src="https://cdn.ampproject.org/v0/amp-list-0.1.js"></script>

... and the amp-mustache component in the header.

<script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>

Import the amp-bind component for dynamically changing the content of an amp-list.

<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>

Basic usage

The amp-list content is provided by a JSON CORS endpoint, which is defined by the src attribute. The URL's protocol must be HTTPS. The response must be a JSON object containing an array property items, for example:

{
  "items": [
    {
      "title": "amp-carousel",
      "url": "https://ampbyexample.com/components/amp-carousel"
    },
    ...
  ]
}

The list content is rendered via an amp-mustache template. The template can be specified either by id, or by using a nested element. For performance reasons, we're adding binding="no" as we're not using amp-bind.

<amp-list layout="fixed-height" height="100" src="/static/samples/json/examples.json" binding="no">
  <template