'Element' 类型上不存在 Angular 属性 'offsetWidth'

Jér*_*Czk 4 typescript angular angular10

角度的新手,我正在尝试使用 ScrollTrigger 进行水平滚动。

它可以工作,但是当我提供或构建时,出现错误:“元素”类型上不存在属性“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
  }
});
Run Code Online (Sandbox Code Playgroud)

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

但是该错误阻止我进行 ng build。我已经做了演员的事情,首先是:

let myElem = document.querySelector(".panel-container").offsetWidth as HTMLElement;
Run Code Online (Sandbox Code Playgroud)

或者之前,但这不起作用,我有一条带有红色下划线的行,并带有错误消息:将类型“字符串”转换为类型“HTMLElement”可能是错误的,因为两种类型都与另一种类型没有充分重叠。

我的角度项目是 10.0.5。

在回复中尝试了解决方案:

(document.querySelector(".panel-container") as HTMLElement).offsetWidth;
Run Code Online (Sandbox Code Playgroud)

但是在红色下划线上出现此错误,但在我发球时在控制台中没有。

将 'Element' 类型转换为 'HTMLElement' 类型可能是错误的,因为这两种类型与另一种类型都没有足够的重叠。如果这是故意的,请先将表达式转换为“未知”。“元素”类型缺少“HTMLElement”类型中的以下属性:accessKey、accessKeyLabel、autocapitalize、dir 和 105 more.ts(2352)

Jag*_*ago 8

尝试从querySelector.

那是:

document.querySelector<HTMLElement>(".panel-container").offsetWidth
Run Code Online (Sandbox Code Playgroud)