如何在TypeScript中使用DOMStringMap?

bod*_*ine 5 html5 angularjs typescript

假设我有一个功能:

angular.forEach(myElements, function prepareElements(myEl: HTMLElement, index) {
    myEl.dataset.myProperty = "whatever";
})
Run Code Online (Sandbox Code Playgroud)

我得到的问题是 error TS2094: The property 'myProperty' does not exist on value of type 'DOMStringMap'

我真的不明白interfacelib.d.ts

interface DOMStringMap {
}
declare var DOMStringMap: {
    prototype: DOMStringMap;
    new (): DOMStringMap;
}
Run Code Online (Sandbox Code Playgroud)

后来......

interface HTMLElement {
    dataset: DOMStringMap;
    hidden: boolean;
    msGetInputContext(): MSInputMethodContext;
}
Run Code Online (Sandbox Code Playgroud)

这只是我还是有点不清楚?

我试过施展它<DOMStringMap>myEl.dataset.myProperty = "whatever",什么都没做......

bas*_*rat 10

DOMStringMap接口为空,因为规范尚未最终确定:https://developer.mozilla.org/en/docs/Web/API/DOMStringMap

在此期间,您可以简单地使用:myEl.dataset ['myProperty'] ="whatever";