如何将 Polymer 入门套件的 <iron-scroll-threshold> 滚动目标设置为 "document"
How to set <iron-scroll-threshold> scroll-target to "document" for Polymer Starter Kit
我打算通过将 scroll-target
设置为 "document"
来实现与 PSK v3 一起使用的无限滚动条,但它对 PSK 不起作用。下面是代码片段:
<iron-scroll-threshold id="threshold"
scroll-target="document"
on-lower-threshold="queryMoreData">
<iron-list items="[[items]]" grid>
<template>
<div>
<div class="content">
item: [[item.n]]
</div>
</div>
</template>
</iron-list>
</iron-scroll-threshold>
我已经用普通 HTML 测试了 scroll-target="document"
,它运行良好。我想知道当用户滚动到特定 page/view.
末尾时应该如何设置 PSK 触发事件
有时,您的滚动位置在开始时比 queryMoreData
函数触发的位置足够低。在此函数中,您需要通过将 clearTriggers
方法调用到 queryMoreData
函数中来清除阈值:
queryMoreData() {
//check if you have more data to load than
ironScrollTheshold.clearTriggers();
}
之后,假设可滚动区域中的内容已经增长,它将再次开始侦听滚动位置是否再次达到阈值。
显然,您需要在ready()
中使用以下代码将<iron-scroll-threshold>
的scroll-target
设置为<app-header>
的scroll-target
:-
ready() {
{ // Set scroll target for <iron-scroll-threshold>
let myApp = document.querySelector('my-app');
let appHeader = myApp.shadowRoot.querySelector('app-header');
this.$.threshold.scrollTarget = appHeader.scrollTarget;
}
}
您必须将 iron-scroll-threshold
元素的 scroll-target 属性设置为“document”。
另请注意 iron-list
的 scroll-target 属性设置为 iron-scroll-threshold
元素的 id - 'threshold '.
<iron-scroll-threshold scroll-target="document" id="threshold" on-lower-threshold="loadMoreData" lower-threshold="100">
<iron-list id="list" items="[[items]]" as="item" scroll-target="threshold" grid>
<!-- template -->
</iron-list>
</iron-scroll-threshold>
我打算通过将 scroll-target
设置为 "document"
来实现与 PSK v3 一起使用的无限滚动条,但它对 PSK 不起作用。下面是代码片段:
<iron-scroll-threshold id="threshold"
scroll-target="document"
on-lower-threshold="queryMoreData">
<iron-list items="[[items]]" grid>
<template>
<div>
<div class="content">
item: [[item.n]]
</div>
</div>
</template>
</iron-list>
</iron-scroll-threshold>
我已经用普通 HTML 测试了 scroll-target="document"
,它运行良好。我想知道当用户滚动到特定 page/view.
有时,您的滚动位置在开始时比 queryMoreData
函数触发的位置足够低。在此函数中,您需要通过将 clearTriggers
方法调用到 queryMoreData
函数中来清除阈值:
queryMoreData() {
//check if you have more data to load than
ironScrollTheshold.clearTriggers();
}
之后,假设可滚动区域中的内容已经增长,它将再次开始侦听滚动位置是否再次达到阈值。
显然,您需要在ready()
中使用以下代码将<iron-scroll-threshold>
的scroll-target
设置为<app-header>
的scroll-target
:-
ready() {
{ // Set scroll target for <iron-scroll-threshold>
let myApp = document.querySelector('my-app');
let appHeader = myApp.shadowRoot.querySelector('app-header');
this.$.threshold.scrollTarget = appHeader.scrollTarget;
}
}
您必须将 iron-scroll-threshold
元素的 scroll-target 属性设置为“document”。
另请注意 iron-list
的 scroll-target 属性设置为 iron-scroll-threshold
元素的 id - 'threshold '.
<iron-scroll-threshold scroll-target="document" id="threshold" on-lower-threshold="loadMoreData" lower-threshold="100">
<iron-list id="list" items="[[items]]" as="item" scroll-target="threshold" grid>
<!-- template -->
</iron-list>
</iron-scroll-threshold>