我想根據 DOM 元素或視窗分配一個變數
const layoutContainer = document.querySelector('[data-test-element="layout"]') ?? window
let pageScrollOffsetY = layoutContainer.scrollTop ?? window.pageYOffset
但屬性scrollTop僅存在于 DOM 元素中,我收到此錯誤:
TS2551: Property 'scrollTop' does not exist on type 'Element | (Window & typeof globalThis)'。您指的是 'scrollTo' 嗎?“Window & typeof globalThis”型別上不存在屬性“scrollTop”
uj5u.com熱心網友回復:
您可能應該像這樣重寫它:
const pageScrollOffsetY = document
.querySelector('[data-test-element="layout"]')?.scrollTop
?? window.pageYOffset
否則,layoutContainer可能是一個windowifdocument.querySelector('[data-test-element="layout"]')無效。并且 awindows沒有scrollTop導致運行時錯誤的屬性。
const layoutContainer = document.querySelector('[data-test-element="layout"]') ?? window
let pageScrollOffsetY = (layoutContainer as Element)?.scrollTop ?? window.pageYOffset
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/510222.html
標籤:打字稿dom
上一篇:畫布,用輸入資料制作角落
