我有一个名为 currentItem 的状态,带有 url、title、description... 当我按下按钮时,currentItem 应该保存在名为 myItems 的其他状态中。它将包含项目对象的列表。
现在的问题是它总是显示最后一个 item,因此它会覆盖每个 currentItem 提交的整个列表。
我的州:
<amp-state id="currentItem">
<script type="application/json">
{
"url": "",
"imageUrl": "",
"title": "",
"description": ""
}
</script>
</amp-state>
<amp-state id="myItems">
<script type="application/json">
[]
</script>
</amp-state>
列表定义:
<amp-list class="mt3"
layout="fixed-height"
height="0"
[src]="myItems"
[height]="myItems.length * 200"
items="."
binding="no">
<template type="amp-mustache">
...
</template>
将 currentItem 添加到列表的操作:
<button type="button"
on="tap:AMP.setState({ myItems: [currentItem]})">
Add
</button>
我尝试使用 AMP.setState({ myItems: myItems.concat(currentItem)}) 但它崩溃了,+。我怎样才能做到这一点?