2016-09-29 116 views
1

沒有找到可轉位簽名我使用這個片段獲取視野訪問計算屬性/元素。在HTML元素

function getViewport(): { width: number, height: number } { 
    let e = window; 
    let a = 'inner'; 

    if (!('innerWidth' in window)) { 
    a = 'client'; 
    e = document.documentElement || document.body; 
    } 

    return { 
    width: e[`${a}Width`], 
    height: e[`${a}Height`], 
    }; 
} 

的大小,但是當我運行flow check我收到此錯誤:

18:  height: e[`${a}Height`], 
       ^^^^^^^^^^^^^^^ access of computed property/element. Indexable signature not found in 
18:  height: e[`${a}Height`], 
       ^HTMLElement 

我剛開始學習流動,如果有人會向我解釋我該如何解決這個問題,或者當我可以閱讀更多關於它的文檔時,我會非常感謝。謝謝。

回答

2

取決於你想要做什麼,但更容易的解決方法是:

let e: Object = window;