15

简单的问题,但没有找到关于该主题的文档:Polymer 2.0 中是否有去抖器?如果是这样,它可以如何使用? this.debounce是 1.0 中的一个实例方法,但它似乎已经消失了。

提前致谢!

4

1 回答 1

33

旧版 1.x 去抖动器

您可以通过以下方式使用 1.xthis.debounce()方法Polymer.LegacyElementMixin

class XFoo extends Polymer.LegacyElementMixin(Polymer.Element) {
  ...
  _onClick() {
    this.debounce('myDebouncer', callback, 2000);
  }
}

密码笔

新的 2.x 去抖动器

2.0 等效项是Polymer.Debouncer.debounce(debouncer, asyncModule, cb),其中:

这个函数返回一个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);
  }
}

密码笔

于 2017-03-13T21:43:34.980 回答