我已經安裝在我的VS 2012更新3調度自定義事件
我要派遣一個自定義事件,但在lib.d.ts不公開聲明的環境變量的打字稿編譯器0.9.0.1版本預期的構造函數簽名。
當我使用
var myEvent = new CustomEvent("my:event:type", { detail: { some: "data"} });
window.dispatchEvent(myEvent);
腳本編譯器抱怨的類型,因爲據他說,只有
var myEvent = new CustomEvent();
是正確的。
後者根據Chrome瀏覽器27和Aurora 24.02,是錯誤的原因是「缺少參數」
MDN還列出了實際,正確的但不換打字稿構造函數簽名。
我現在的想法是將已知正確的構造函數簽名添加到環境變量聲明中,但未觸及已發佈的lib.d.ts文件。這在技術上可行嗎?我無法提出正確的語法,語言規範也沒有提到如何合併兩個這樣的聲明。
或者,我只需編輯lib.d.ts,在IDE重新啓動後爲我提供了更新的簽名。不過,我寧願不以這種方式篡改第三方文件。最後,還有其他一些機制我(sh | c)應該用來編寫調度自定義事件的類型腳本代碼嗎?
(更新:重新啓動IDE重裝lib.d.ts正確此外,修正虛構的事件類型名稱。)
定義一個TypeScript類型的構造函數不*返回該類型的對象確實是討厭的... – Arne