Typescript: ResizeObserver API声明丢失

创建于 2018-11-13  ·  21评论  ·  资料来源: microsoft/TypeScript

搜索词

ResizeObserver

建议

lib.dom.ts不包括ResizeObserver API声明。

用例

ResizeObserver是在2018年获得一些支持的东西,我在这里没有发现有关ResizeObserver的内容。

检查清单

我的建议符合以下准则:

  • [x]这并不是现有TypeScript / JavaScript代码的重大变化
  • [x]这不会改变现有JavaScript代码的运行时行为
  • [x]这可以在不基于表达式类型发出不同JS的情况下实现
  • [x]这不是运行时功能(例如,库功能,具有JavaScript输出的非ECMAScript语法等)
  • [x]此功能将与TypeScript的其他设计目标保持一致
lib.d.ts Question

最有用的评论

是时候添加它了,它已经在上个月发布到Safari中。 这意味着实际上所有浏览器都支持它。

所有21条评论

我认为标准类型定义不是实验性API附带的,尤其是在几乎不存在浏览器支持的情况下。

我们现在从标准化的Web IDL文件在https://github.com/Microsoft/TSJS-lib-generator生成lib。 该文件包含我们从中生成库的IDL列表。 一旦功能生效,例如whatwg公共dom接口IDL ,我们将同步并获取它。 直到那时候(可能还有更好的浏览器支持)。 同时,我建议您仅在本地将额外的声明添加到您的项目中,因为我不认为我们会以PR替代仍在试验中的内容。

@weswigham很高兴知道! 谢谢。

我建议同时将额外的声明添加到本地项目中

从Typescript角度放置这些声明的正确位置是什么? 考虑到resize-observer-polyfill的代码

项目中的任何文件都可以。 很多人会为这样的事情推荐一个单独的globals.d.ts之类的东西。

@weswigham这几天似乎应该重新审视?

所有主要的浏览器都支持常绿模式来支持它:Firefox(68-69),Safari(技术预览版,可以在下一个Safari中与MacOS Catalina一起毫无疑问地启动可用性),Chrome,Edge(带有Chromium)等。

现在,IIRC还更新了有关此事件的CaniUse数据: https ://caniuse.com/#search = ResizeObserver

该问题被标记为“问题”,并且最近没有活动。 它已自动关闭以进行家政服务。 如果您仍在等待响应,那么问题通常更适合stackoverflow

这应该重新打开; 我认为它关闭的原因值得怀疑。

不为ResizeObserver API添加接口的前提已过时,需要更新。

/ cc @weswigham

@weswigham对此有任何更新吗?

仍在mdn上标记为实验性,因此没有。 当规范移出草案状态并被接受时,与它关联的IDL应该由TS提取并自动包括在内,但这还没有发生。

@weswigham MDN不再将此API列为试验性。 尝试在TypeScript 3.7.2中使用API​​时,当前显示“找不到名称'ResizeObserver'”

应重新打开此问题,因为它已不再处于实验阶段,并且所有主要的浏览器都支持此问题。

根据MDN,它仍然只是编辑草稿的一部分,并非所有主流浏览器都支持它。

我想是阻止浏览器运行的是Safari,直到
2020年是他们2020年的发展路线图; 保证对它的边缘支持
〜1月15日,Edge Chromium即将面向公众推出
支持ResizeObserver。

在2019年11月13日星期三凌晨1:00 Martin Johns [email protected]
写道:

根据MDN,它仍然只是编辑草稿的一部分,而并非全部
主要的浏览器都支持它。

-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/microsoft/TypeScript/issues/28502?email_source=notifications&email_token=AAJKUOAOKN35DZEYT26M6VLQTO6ZVA5CNFSM4GDOB24KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLO
或退订
https://github.com/notifications/unsubscribe-auth/AAJKUODKUSZ7BORN3AUGNKLQTO6ZVANCNFSM4GDOB24A

>

凯文·罗赞迪尔
[email protected] [email protected]

这里有更新吗?

那是我遇到的更奇怪的问题之一。 过去一年,我对这个API的了解很多,因为它对于打字稿不熟悉

几乎达到80% https ://caniuse.com/#search = ResizeObserver

是时候添加它了,它已经在上个月发布到Safari中。 这意味着实际上所有浏览器都支持它。

向上

虽然尚未将类型合并到打字稿中,但是您可以将npm中的一个软件包与ResizeObserver类型一起使用: https: //www.npmjs.com/package/@types/resize -observer-browser

要添加到@denexapp的响应中:

1)安装https://www.npmjs.com/package/@types/resize-observer-browser
2) /// <reference types="resize-observer-browser" />在文件顶部,您需要使用它。

此页面是否有帮助?
0 / 5 - 0 等级