Typescript: ResizeObserver API-Deklarationen fehlen

Erstellt am 13. Nov. 2018  ·  21Kommentare  ·  Quelle: microsoft/TypeScript

Suchbegriffe

ResizeObserver

Vorschlag

lib.dom.ts enthält keine ResizeObserver-API-Deklarationen.

Anwendungsfälle

ResizeObserver ist eine Sache , die wird immer eine gewisse Unterstützung im Jahr 2018 und ich habe keine Erwähnung über ResizeObserver hier.

Checkliste

Mein Vorschlag entspricht diesen Richtlinien:

  • [x] Dies wäre keine bahnbrechende Änderung des vorhandenen TypeScript / JavaScript-Codes
  • [x] Dies würde das Laufzeitverhalten des vorhandenen JavaScript-Codes nicht ändern
  • [x] Dies könnte implementiert werden, ohne dass je nach Art der Ausdrücke unterschiedliche JS ausgegeben werden
  • [x] Dies ist keine Laufzeitfunktion (z. B. Bibliotheksfunktionalität, Nicht-ECMAScript-Syntax mit JavaScript-Ausgabe usw.)
  • [x] Diese Funktion würde mit den übrigen Designzielen von
lib.d.ts Question

Hilfreichster Kommentar

Es ist Zeit, es hinzuzufügen. Es wurde letzten Monat an Safari ausgeliefert. Dies bedeutet, dass buchstäblich alle Browser dies unterstützen.

Alle 21 Kommentare

Ich denke, es ist beabsichtigt, dass die Standardtypdefinitionen keine experimentellen APIs enthalten, insbesondere wenn die Browserunterstützung fast nicht vorhanden ist.

Wir generieren die Bibliothek jetzt unter https://github.com/Microsoft/TSJS-lib-generator aus den standardisierten Web-IDL-Dateien. Diese Datei enthält die Liste der IDLs, aus denen wir die Bibliothek generieren. Sobald die Funktion erreicht ist, z. B. die IDL-Schnittstelle " whatwg

@weswigham gut zu wissen! Vielen Dank.

Ich würde empfehlen, die zusätzlichen Deklarationen in der Zwischenzeit nur lokal zu Ihrem Projekt hinzuzufügen

Was ist der richtige Ort, um diese Erklärungen aus typoskriptbezogener Sicht zu platzieren? Unter Berücksichtigung des Codes von Resize-Observer-Polyfill

Jede Datei in Ihrem Projekt reicht aus. Viele Leute würden ein separates globals.d.ts oder ähnliches für solche Dinge empfehlen.

@weswigham Dies sollte in diesen Tagen anscheinend überarbeitet werden?

Alle gängigen Browser unterstützen dies mit Blick auf das immergrüne Modell: Firefox (68-69), Safari (Tech Preview für die Verfügbarkeit in der nächsten Safari, die ohne Zweifel neben MacOS Catalina gestartet werden kann), Chrome, Edge mit Chromium usw.

Es gibt jetzt auch aktualisierte CaniUse-Daten zu diesem Thema, IIRC: https://caniuse.com/#search = ResizeObserver

Dieses Problem wurde als "Frage" markiert und hat in letzter Zeit keine Aktivitäten erfahren. Es wurde automatisch für Haushaltszwecke geschlossen. Wenn Sie immer noch auf eine Antwort warten, sind Fragen normalerweise besser für den Stapelüberlauf geeignet.

Dies sollte sich wieder öffnen; Ich bin der Meinung, dass der Grund für die Schließung fraglich ist.

Die Voraussetzung, keine Schnittstelle für die API ResizeObserver hinzuzufügen, ist veraltet und muss aktualisiert werden.

/ cc @weswigham

@weswigham Gibt es ein Update dazu?

Immer noch als experimentell auf mdn markiert, also nein. Wenn die Spezifikation aus dem Entwurfsstatus verschoben und akzeptiert wird, sollte die zugehörige IDL von TS abgerufen und automatisch eingeschlossen werden. Dies ist jedoch noch nicht geschehen.

@weswigham MDN listet diese API nicht mehr als experimentell auf. Wird derzeit angezeigt, dass der Name 'ResizeObserver' nicht gefunden werden kann, wenn versucht wird, die API mit TypeScript 3.7.2 zu verwenden

Dieses Problem sollte erneut geöffnet werden, da es nicht mehr experimentell ist und von allen gängigen Browsern unterstützt wird.

Laut MDN ist es immer noch nur ein Teil des Entwurfs eines Editors, und nicht alle gängigen Browser unterstützen ihn.

Ich stelle mir vor, was Safari aufhält, wird es erst unterstützen
2020 steht auf ihrer Roadmap für 2020; Edge-Support dafür ist garantiert
~ 15. Januar, wenn Edge Chromium für die Öffentlichkeit gestartet wird
Unterstützung für ResizeObserver.

Am Mittwoch, den 13. November 2019 um 01:00 Uhr Martin Johns [email protected]
schrieb:

Laut MDN ist es immer noch nur ein Teil des Entwurfs eines Herausgebers und nicht alle
große Browser unterstützen es.

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/microsoft/TypeScript/issues/28502?
oder abbestellen
https://github.com/notifications/unsubscribe-auth/AAJKUODKUSZ7BORN3AUGNKLQTO6ZVANCNFSM4GDOB24A
.

>

Kevin Lozandier
[email protected] [email protected]

Irgendwelche Updates hier?

Das ist eines der bizarreren Probleme, auf die ich gestoßen bin. Ich habe im letzten Jahr viel über diese API gehört, damit sie mit Typoskript nicht vertraut ist

Fast zu 80% https://caniuse.com/#search = ResizeObserver

Es ist Zeit, es hinzuzufügen. Es wurde letzten Monat an Safari ausgeliefert. Dies bedeutet, dass buchstäblich alle Browser dies unterstützen.

Oben

@weswigham , erstellen Sie das Problem https://github.com/microsoft/TSJS-lib-generator/issues/908

Während die Typisierungen noch nicht in Typoskript zusammengeführt sind, können Sie ein Paket von npm mit ResizeObserver-Typisierungen verwenden: https://www.npmjs.com/package/@types/resize -observer-browser

So fügen Sie die Antwort von

1) Installieren Sie https://www.npmjs.com/package/@types/resize-observer-browser
2) /// <reference types="resize-observer-browser" /> oben in der Datei, wo Sie sie verwenden müssen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

uber5001 picture uber5001  ·  3Kommentare

wmaurer picture wmaurer  ·  3Kommentare

blendsdk picture blendsdk  ·  3Kommentare

fwanicka picture fwanicka  ·  3Kommentare

weswigham picture weswigham  ·  3Kommentare