我的响应中有一个滚动事件处理程序,我正在尝试使其变为被动状态。但是它不起作用,我不断在控制台中收到以下警告:
考虑将事件处理程序标记为“被动”以使页面更多
反应灵敏。
所以这是我阅读事件的地方:
bindEventListeners()
{
EventContainer.readWindowEvent('scroll', this.onScroll);
}
这是我的EventContainer.js文件中的readWindowEvent函数:
static readWindowEvent(slug, callback, passive = true)
{
let result = null;
let allowed = this.getAllowedWindowEventListeners().indexOf(slug) != -1;
if (!allowed) {
result = console.error(
'You cannot register ' + slug + ' on the window. Allowed events: ' +
this.getAllowedWindowEventListeners().join(', ')
)
}
if (allowed) {
result = window.addEventListener(
slug,
callback,
{passive: passive}
);
}
return result;
}
在这行上:
{被动:被动}
我在编辑器中收到以下错误
无法将参数类型{passive:boolean}分配给参数类型boolean
有人知道我在这里做错了吗?
任何帮助表示赞赏!
提前谢谢了 :)
最佳答案
也许现在回答有点晚,但是我遇到了同样的问题。一种解决方法是在传入的对象上使用any
类型:
let passiveObject: any = { passive: true }
obj.addEventListener(evt, func, passiveObject)
希望这对以后的人有所帮助!