是否可以在amp-state src中使用一些参数?

时间:2018-01-17 14:14:12

标签: amp-html

我想通过放大器状态请求向我的服务器发送一些参数,以便按照不同的参数(排序方式和页码)对我的产品列表进行排序。 我有这样的代码:

<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;每次都是空的。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我发现了自己的错误。我忘了引用pageOrderBy值,如&#34; asc&#34;。所以现在它起作用了,它就是这样的。可能的