1
爲了在聚合物中實現無限滾動,我通過使用iron-list
和iron-scroll-threshold
完成了以下操作。但問題是loadMoreData iron-scroll-threshold
永遠不會執行第一個列表滾動以聚合物結束後。請幫助我在代碼中丟失或錯誤哪一個。謝謝。在第一個列表結尾以聚合物形式結束後,永遠不會執行鐵滾動閾值
<template>
<iron-ajax id="ajax"
url="https://randomuser.me/api/"
handle-as="json"
params='{"results": 20}'
loading="{{loadingPeople}}"
on-response="categoriesLoaded">
</iron-ajax>
<app-toolbar>
<div main-title>Load data using iron-scroll-threshold</div>
</app-toolbar>
<iron-scroll-threshold on-lower-threshold="loadMoreData" id="threshold">
<iron-list id="list" items="[[categoriesJobs]]" as="person" scroll-target="threshold">
<template>
<div>
<div class="personItem" tabindex$="[[tabIndex]]">
<iron-image class="avatar" sizing="contain" src="[[person.picture.medium]]"></iron-image>
<div class="pad">
<div class="primary">[[person.name.first]] [[person.name.last]]</div>
<address>
[[person.location.street]] [[person.city]] <br />
[[person.location.city]], [[person.location.state]] [[person.location.postcode]]
</address>
</div>
</div>
</div>
</template>
</iron-list>
</iron-scroll-threshold>
</template>
<script>
Polymer({
is: 'job-category',
attached: function() {
this.companyDetail = [];
this.categoriesJobs = [];
},
loadMoreData: function() {
this.$.ajax.generateRequest();
},
categoriesLoaded: function (e) {
var people = e.detail.response.results;
this.categoriesJobs = people;
this.$.threshold.clearTriggers();
}
});
</script>
</dom-module>
當我試圖用我自己的代碼,我陷在categoriesLoaded方法在foreach來實現這一點。 這裏發生了什麼var people = e.detail.response.results; 細節和響應來自哪裏? – Niklas
'categoriesLoaded'是一個事件監聽器(注意iron-ajax的「有響應」聲明)。 'e'(event)對象有一個名爲'detail'的屬性,它保存着事件分派器提供的額外數據。在這種情況下,調度員是'iron-ajax',額外的數據包含來自您的AJAX請求的響應。 – Hunex
我來這裏是爲了解決類似問題(滾動閾值不觸發 - 不同場景)和'height:calc(100vh - 64px);'和'display:flex;'在父容器上修復了我的所有問題 – Gwynnie