You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API直接返回数组时如何正确使用amp-list组件?

如何用直接返回数组的API填充amp-list?

刚好我之前也遇到过这个问题,你说的没错,amp-list默认要求接口返回一个包含items数组的JSON对象,但如果你的接口直接返回数组,确实可以用"."来搞定,具体操作很简单:

核心解决方案:添加items="."属性

你只需要在<amp-list>标签里加上items=".",它就会把接口返回的整个数组当作要渲染的数据源,而不是去查找响应里的items字段。

完整代码示例

下面是针对你提供的接口返回格式写的完整示例:

<!-- 先在页面头部引入必要的AMP组件脚本 -->
<script async custom-element="amp-list" src="https://cdn.ampproject.org/v0/amp-list-0.1.js"></script>
<script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>

<!-- 你的amp-list组件 -->
<amp-list layout="fixed-height" height="300" src="你的API接口地址" items=".">
  <!-- 模板部分,直接遍历数组中的每个对象 -->
  <template type="amp-mustache">
    <div class="item-container">
      <h4>{{name}}</h4>
      <p>ID: {{id}} | 分类: {{category}}</p>
    </div>
  </template>
  <!-- 加载失败/未加载时的占位内容 -->
  <div fallback>加载数据中,请稍候...</div>
</amp-list>

关键细节说明

  • items=".":这个属性是核心,它告诉amp-list「直接使用接口返回的整个响应作为items集合」,完美适配你的接口返回格式。
  • 模板语法:因为每个模板的上下文就是数组里的单个对象,所以直接用{{name}}、{{id}}这种方式引用属性即可,和正常渲染items数组的写法完全一致。
  • 注意JSON格式:你示例里的数组元素末尾有多余的逗号(比如{"name":"xxx","id":2663755,"category":"sss",}),这个一定要去掉,否则AMP会解析失败。

这样设置之后,amp-list就能正常渲染你的接口返回的数组数据了,亲测有效!

内容的提问来源于stack exchange,提问作者rajat44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:12:25