我正在尝试在打字稿文件中使用 window.devicePixelRatio 但这无法编译并显示消息“属性'devicePixelRatio'不存在于类型'Window'的值”
是否有修复或我必须只使用打字稿之外的功能?
皮特
我正在尝试在打字稿文件中使用 window.devicePixelRatio 但这无法编译并显示消息“属性'devicePixelRatio'不存在于类型'Window'的值”
是否有修复或我必须只使用打字稿之外的功能?
皮特
Window
您可以使用您需要的功能扩展界面 - 只要有新的(ish)没有进入lib.d.ts
. 您可能需要稍后删除您的扩展,lib.d.ts
但编译器会在那时警告您。
interface Window {
devicePixelRatio: number;
}
var x = 1;
if (window.devicePixelRatio) {
x = window.devicePixelRatio
}
如果它适合你,我会选择史蒂夫的解决方案。有时 Visual Studio 会变得古怪并开始抱怨已经定义的变量。或者,您可以随时执行以下操作:
var x = 1;
var win:any = window;
if (win.devicePixelRatio) {
x = win.devicePixelRatio
}
或者
var x = 1;
if ((<any>window).devicePixelRatio) {
x = (<any>window).devicePixelRatio
}