html - 如何在 TypeScript 中使用 DOMStringMap?

标签 html angularjs typescript

假设我有一个函数:

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

我遇到的问题是 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;
}

然后……

interface HTMLElement {
    dataset: DOMStringMap;
    hidden: boolean;
    msGetInputContext(): MSInputMethodContext;
}

是我自己还是有点不清楚?

我试过类型转换它 <DOMStringMap>myEl.dataset.myProperty = "whatever" , 什么也没做...

最佳答案

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

同时您可以简单地使用:myEl.dataset['myProperty'] = "whatever";

关于html - 如何在 TypeScript 中使用 DOMStringMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22569008/

相关文章:

javascript - 相当于 Array.from() 的 TypeScript

typescript - Jest 不转换导入的 typescript

html - 图片 srcset 和同位素网格在单击时更改图像宽度而不是视口(viewport)

angularjs - 如何检测用户是否单击Angularjs中的浏览器后退按钮

javascript - Cron 表达式到 angularjs 中人类可读的表达式

javascript - 在 javascript 或 angularjs 中分组

javascript - ionic 2 在应该寻找 app.js 的时候却寻找 app.ts

html - content-type 和 enctype 有什么区别

html - 如何将图片的宽度调整为其网页 View 的宽度

javascript - 如何将 JavaScript 响应转换为 HTML