ResizeObserver
lib.dom.ts
no incluye declaraciones de API ResizeObserver.
ResizeObserver es algo que está recibiendo cierto soporte en 2018 y no he encontrado ninguna mención sobre ResizeObserver aquí.
Mi sugerencia cumple con estas pautas:
Creo que es intencional que las definiciones de tipo estándar no vengan con API experimentales, especialmente si la compatibilidad con el navegador casi no existe.
Generamos la biblioteca en https://github.com/Microsoft/TSJS-lib-generator a partir de los archivos IDL web estandarizados ahora. Este archivo contiene la lista de IDL desde la que generamos la biblioteca. Una vez que la función se activa, por ejemplo, el IDL de las interfaces dom comunes whatwg, lo sincronizaremos y lo tendremos. Pasará algún tiempo (y probablemente mucho mejor soporte del navegador) hasta que eso suceda. Mientras tanto, recomendaría simplemente agregar las declaraciones adicionales localmente a su proyecto, ya que no creo que tomemos un PR para anular algo que aún es experimental.
@weswigham ¡es bueno saberlo! Gracias.
Mientras tanto, recomendaría agregar las declaraciones adicionales localmente a su proyecto
¿Cuál es el lugar correcto para colocar estas declaraciones desde la perspectiva de TypeScript? Teniendo en cuenta el código de resize-observer-polyfill
Cualquier archivo de su proyecto servirá. Mucha gente recomendaría un globals.d.ts
separado o similar para cosas como esta.
@weswigham ¿ Esto aparentemente debería
Todos los navegadores principales lo admiten con el modelo de hoja perenne en mente: Firefox (68-69), Safari (Tech Preview para disponibilidad en el próximo Safari para lanzar junto con MacOS Catalina sin duda), Chrome, Edge con Chromium, y así sucesivamente.
También hay datos actualizados de CaniUse sobre el asunto ahora, IIRC: https://caniuse.com/#search = ResizeObserver
Este problema se ha marcado como 'Pregunta' y no ha tenido actividad reciente. Se ha cerrado automáticamente por motivos de limpieza. Si todavía está esperando una respuesta, las preguntas suelen ser más adecuadas para stackoverflow .
Esto debería reabrirse; Soy de la opinión de que la razón por la que está cerrado es cuestionable.
La premisa de no agregar interfaz para ResizeObserver
API es obsoleta y necesita una actualización.
/ cc @weswigham
@weswigham ¿ Alguna actualización sobre esto?
Todavía marcado como experimental en mdn , así que no. Cuando la especificación se mueve fuera del estado de borrador y se acepta, su IDL asociado debería ser extraído por TS e incluido automáticamente, pero eso aún no ha sucedido.
@weswigham MDN ya no enumera esta API como experimental. Actualmente aparece "No se puede encontrar el nombre 'ResizeObserver'" cuando se intenta utilizar la API con TypeScript 3.7.2
Este problema debe reabrirse ya que ya no es experimental y todos los navegadores principales lo admiten.
Según MDN, sigue siendo solo una parte del borrador del editor y no todos los navegadores principales lo admiten.
Me imagino que lo que está frenando las cosas es Safari, que no lo admitirá hasta
2020 está en su hoja de ruta 2020; El soporte de borde está garantizado
~ 15 de enero, cuando Edge Chromium se lanzará para el público con su
soporte para ResizeObserver.
El miércoles 13 de noviembre de 2019 a la 1:00 a.m. Martin Johns [email protected]
escribió:
Según MDN, sigue siendo solo una parte del borrador del editor, y no todos
los principales navegadores lo admiten.-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/microsoft/TypeScript/issues/28502?email_source=notifications&email_token=AAJKUOAOKN35DZEYT26M6VLQTO6ZVA5CNFSM4GDOB24KYY3PNVWWK3TUL52HS4DFVREXG43WWMVED5com ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/AAJKUODKUSZ7BORN3AUGNKLQTO6ZVANCNFSM4GDOB24A
.>
Kevin Lozandier
[email protected] [email protected]
¿Alguna actualización aquí?
ese es uno de los problemas más extraños que encontré. He escuchado mucho sobre esta API el año pasado para que no me resulte familiar por mecanografiado
Casi al 80% https://caniuse.com/#search = ResizeObserver
Es hora de agregarlo, se envió a Safari el mes pasado. Esto significa que literalmente todos los navegadores lo admiten.
Arriba
@weswigham , cree un problema https://github.com/microsoft/TSJS-lib-generator/issues/908
Si bien los mecanografiados aún no se han fusionado en mecanografiado, puede utilizar un paquete de npm con los mecanografiados ResizeObserver: https://www.npmjs.com/package/@types/resize -observer-browser
Para agregar a la respuesta de @denexapp :
1) instale https://www.npmjs.com/package/@types/resize-observer-browser
2) /// <reference types="resize-observer-browser" />
en la parte superior del archivo donde necesita usarlo.
Comentario más útil
Es hora de agregarlo, se envió a Safari el mes pasado. Esto significa que literalmente todos los navegadores lo admiten.