简单的问题,但没有找到关于该主题的文档:Polymer 2.0 中是否有去抖器?如果是这样,它可以如何使用?
this.debounce
是 1.0 中的一个实例方法,但它似乎已经消失了。
提前致谢!
简单的问题,但没有找到关于该主题的文档:Polymer 2.0 中是否有去抖器?如果是这样,它可以如何使用?
this.debounce
是 1.0 中的一个实例方法,但它似乎已经消失了。
提前致谢!
您可以通过以下方式使用 1.xthis.debounce()
方法Polymer.LegacyElementMixin
:
class XFoo extends Polymer.LegacyElementMixin(Polymer.Element) {
...
_onClick() {
this.debounce('myDebouncer', callback, 2000);
}
}
2.0 等效项是Polymer.Debouncer.debounce(debouncer, asyncModule, cb)
,其中:
debouncer
Polymer.Debouncer
返回 from的一个实例Polymer.Debouncer.debounce()
,用于唯一标识去抖作业。这相当于 1.x debouncer 作业名称字符串。这可以最初undefined
/null
来创建一个新实例。
asyncModule
以下之一:
cb
asyncModule
完成时调用的回调
这个函数返回一个Polymer.Debouncer
实例,它有一个cancel()
方法,相当于 1.x this.cancelDebouncer(JOB_NAME)
。该实例应debounce()
在下一次调用时传递给该方法,以使去抖动正常工作。
示例用法:
class XFoo extends Polymer.Element {
...
_onClick() {
this._debouncer = Polymer.Debouncer.debounce(
this._debouncer, // initially undefined
Polymer.Async.timeOut.after(2000),
callback);
}
}