首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Debounce name -作业名称问题

Debounce name -作业名称问题
EN

Stack Overflow用户
提问于 2018-01-20 10:41:56
回答 1查看 40关注 0票数 0

使用聚合物1.0...

debounce方法要求作业名称是某种类型的对象。我得到了Cannot read property 'foo' of undefined

documentation中,作业名称是一个字符串。我以为作业名称只是为了稍后引用去抖动对象,但我猜我错了。

我在这里做错了什么?注意,这是在自定义元素之外,这就是我使用Polymer.Base的原因

代码语言:javascript
复制
function scrollSnap() {
  Polymer.Base.debounce('foo', ()=> {
    if (app.selected === 'portfolio') {
      if (panel.scroller.scrollTop > 75 && panel.scroller.scrollTop < 200) {
        panel.scroller.scrollTop = 400;
      } else if  (panel.scroller.scrollTop > 350 && panel.scroller.scrollTop < 400) {
        panel.scroller.scrollTop = 0;
      }
    }
  }, 1000)
} 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-20 11:53:57

发生这种情况是因为内部去保证器映射未初始化,因此当聚合物尝试执行去保管器名称查找时,它会取消引用未初始化/未定义的数组。

由于此去保证器调用是在聚合物元素外部使用的,因此您必须手动调用通常在元素初始化(即_setupDebouncers())中完成的设置函数:

代码语言:javascript
复制
Polymer.Base._setupDebouncers();

for (let i=0; i<100; i++) {
  Polymer.Base.debounce('foo', () => console.log('debounced'), 1000);
}

demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48352100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档