Что заменяет старый HTMLElement.style при использовании нового Fable.Browser.Dom - PullRequest
0 голосов
/ 24 апреля 2019

Я начал проект с fulma-demo и попытался перенести некоторый код из другого примера проекта, который использовал более старую версию Fable и Fulma. Он имеет следующую строку, которая не будет компилироваться:

testWrapper.style.borderColor <- "#E95D0F"

Очевидно, что свойство style больше не существует в HTMLElement. Что его заменяет?

Редактировать:

open Fable.Core.JsInterop
open Browser
open Browser.Types
let testWrapper = document.querySelector(".test-wrapper")  :?> HTMLElement

1 Ответ

1 голос
/ 27 апреля 2019

с выпуском Fable.Core v3, Альфонсо начал переработать несколько «исторических» пакетов, таких как Fable.Import.Browser.

Возможно, вы не заметили, но многие библиотеки Fable зависят отчудовищный пакет Fable.Import.Browser, единственный файл из более чем 12000 строк, который большинство IDE пытались открыть.Этот файл был автоматически сгенерирован в его источнике, используя ts2fable из определений Typescript.Однако он также содержал ручные настройки, и это вместе с его размером делало его очень трудным для обновления.

Цитаты из Блог Fable

Так что Fable.Import.Browser имеетбыла разбита на несколько пакетов:

  • Fable.Browser.Blob
  • Fable.Browser.Dom
  • Fable.Browser.Event
  • Fable.Browser.Performance
  • Fable.Browser.Url
  • Fable.Browser.WebSocket
  • Fable.Browser.WebStorage
  • Fable.Browser.XMLHttpRequest

Однако по-прежнему отсутствуют Fable.Browser.Svg и Fable.Browser.Css.У меня уже есть версия для Fable.Browser.Svg, и я работаю над созданием версии Fable.Browser.Css, поэтому, надеюсь, они скоро будут доступны для использования.

Тем не менее, если вам нужен доступ к свойству styleэлемента сейчас вам нужно будет использовать dynamic typing:

open Fable.Core.JsInterop
open Browser
open Browser.Types

let testWrapper = document.querySelector(".test-wrapper")  :?> HTMLElement

testWrapper?style?borderColor <- "#E95D0F"
...