我想通过放大器状态请求向我的服务器发送一些参数,以便按照不同的参数(排序方式和页码)对我的产品列表进行排序。 我有这样的代码:
<amp-list id="paged-amp-list"
layout="fixed-height"
height="700"
src="{$current_url}?ajax"
[src]="'{$current_url}?ajax&page=' + pageNumber + '&orderBy=' + pageOrderBy"
single-item>
<template type="amp-mustache">
<p class="info">Page {{currentPage}} of {{totalPages}}</p>
{{ #products }}
<div class="item">
<amp-img
class="product-image"
src="{{ cover.large.url }}"
width="{{ cover.large.width }}"
height="{{ cover.large.height }}"
layout="responsive">
</amp-img>
</div>
{{ /products }}
</template>
</amp-list>
<div class="nav">
<button class="prev"
on="tap: AMP.setState({
pageNumber: pageNumber - 1
})">Prev
</button>
<button class="next"
on="tap: AMP.setState({
pageNumber: pageNumber ? pageNumber + 1 : 2, pageOrderBy: asc
})">Next
</button>
</div>
<amp-state id="page"
src="{$current_url}?ajax"
[src]="'{$current_url}?ajax&page=' + pageNumber + '&orderBy=' + pageOrderBy">
</amp-state>
所以当我按下按钮&#34; prev&#34;我只是发送一个页码值来请求(并且它正常工作)但是当我按下#34;下一个&#34;我想发送页码和新产品订购价值,但是orderBy的值永远不会被填充。即使我创建了一个带有单个参数的新按钮&#34; pageOrderBy&#34;我仍然得到相同的结果,参数&#34; orderBy&#34;每次都是空的。
提前感谢任何建议。
答案 0 :(得分:0)
我发现了自己的错误。我忘了引用pageOrderBy值,如&#34; asc&#34;。所以现在它起作用了,它就是这样的。可能的