[英]Angular Property 'offsetWidth' does not exist on type 'Element'
angular 的新手,我正在嘗試使用 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
}
});
即使我得到它的錯誤,當我控制台記錄“document.query ..”時,我得到了元素的良好寬度。
但是該錯誤阻止我構建。 我已經做了演員表的事情,首先是:
let myElem = document.querySelector(".panel-container").offsetWidth as HTMLElement;
或者之前,但這不起作用,我有帶有紅色下划線的錯誤消息:將類型“字符串”轉換為類型“HTMLElement”可能是一個錯誤,因為這兩種類型都沒有與另一種充分重疊。
我的 angular 項目是 10.0.5。
在回復中嘗試了解決方案:
(document.querySelector(".panel-container") as HTMLElement).offsetWidth;
但是在紅色下划線出現此錯誤,但在我發球時控制台中沒有任何內容。
將“Element”類型轉換為“HTMLElement”類型可能是一個錯誤,因為這兩種類型都沒有與另一種充分重疊。 如果這是故意的,請先將表達式轉換為“未知”。 “元素”類型缺少“HTMLElement”類型的以下屬性:accessKey、accessKeyLabel、autocapitalize、dir 和 105 more.ts(2352)
嘗試從querySelector
輸入預期的 output 。
那是:
document.querySelector<HTMLElement>(".panel-container").offsetWidth
結果可能是 null,因此如果您啟用了 strictNullChecks,您需要先執行 null 檢查:
if (element.== null) {... }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.