gpt4 book ai didi

Typescript - 类型 'scrollY' 上不存在属性 'HTMLElement'

转载 作者:行者123 更新时间:2023-12-03 09:12:49 33 4
gpt4 key购买 nike

我得到了这个方法:

class Foo {
private getDistanceFromTop (el: HTMLElement): number {
return el.scrollY || el.scrollTop;
}
}

el 参数是动态的,可以是 HTMLElementwindow 对象。我尝试使用 as 将其转换为 Window 类型,但出现另一个编译错误:Type 'HTMLElement' 无法转换为类型 'Window' 。那么如何修改这段代码才能使其通过 TS 验证并且不使用 :any 类型呢?

最佳答案

HTMLElement 和 Window 是两种不同的类型,因此您可以执行以下操作:

class Foo {
private getDistanceFromTop(el: HTMLElement | Window) {
if (el instanceof Window) {
return el.scrollY;
}
return el.scrollTop;
}
}

关于Typescript - 类型 'scrollY' 上不存在属性 'HTMLElement',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40551475/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com