角度属性'offsetWidth'在类型'元素'



对于angular,我尝试使用ScrollTrigger进行水平滚动。

它是有效的,但当我发球或构建时,我出现了错误:类型"Element"上不存在属性"offsetWidth"。

这是gsap的代码:

gsap.to(sections, {
xPercent: -100 * (sections.length - 1),
ease: "none",
scrollTrigger: {
trigger: ".panel-container",
pin: true,
scrub: 1,
snap: 1 / (sections.length - 1),
end: () => "+=" + document.querySelector(".panel-container").offsetWidth
}
});

即使我得到了错误,它也能工作,当我控制台记录";document.query..";我得到了很好的元素宽度。

但是这个错误使我无法构建。我已经做了演员的事情,首先是:

let myElem = document.querySelector(".panel-container").offsetWidth as HTMLElement;

或者使用之前的,但这不起作用,我有一条带红色下划线的线,上面有错误消息:将类型"string"转换为类型"HTMLElement"可能是一个错误,因为两种类型都没有充分重叠。

我的角度项目是10.0.5。

尝试了答复中的解决方案:

(document.querySelector(".panel-container") as HTMLElement).offsetWidth;

但在红色下划线上出现了这个错误,但当我发球时,控制台上没有任何错误。

将类型"Element"转换为类型"HTMLElement"可能是一个错误,因为两种类型都没有充分重叠。如果这是故意的,请先将表达式转换为"unknown"。类型"Element"缺少类型"HTMLElement"中的以下属性:accessKey、accessKeyLabel、autocapitalize、dir和其他105个。ts(2352(

尝试键入querySelector的预期输出。

即:

document.querySelector<HTMLElement>(".panel-container").offsetWidth

结果可能为null,因此如果启用了strictNullChecks,则需要首先执行null检查:

if(element!==null({…}

相关内容

最新更新