使用聚合物1.0...
debounce方法要求作业名称是某种类型的对象。我得到了Cannot read property 'foo' of undefined。
在documentation中,作业名称是一个字符串。我以为作业名称只是为了稍后引用去抖动对象,但我猜我错了。
我在这里做错了什么?注意,这是在自定义元素之外,这就是我使用Polymer.Base的原因
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)
} 发布于 2018-01-20 11:53:57
发生这种情况是因为内部去保证器映射未初始化,因此当聚合物尝试执行去保管器名称查找时,它会取消引用未初始化/未定义的数组。
由于此去保证器调用是在聚合物元素外部使用的,因此您必须手动调用通常在元素初始化(即_setupDebouncers())中完成的设置函数:
Polymer.Base._setupDebouncers();
for (let i=0; i<100; i++) {
Polymer.Base.debounce('foo', () => console.log('debounced'), 1000);
}https://stackoverflow.com/questions/48352100
复制相似问题