什么使用新的Fable.Browser.Dom替换旧的HTMLElement.style

时间:2019-04-24 02:56:19

标签: f# fable-f#

我从fulma-demo开始了一个项目,并尝试从另一个使用较旧版本的Fable和Fulma的示例项目中移植一些代码。它具有以下行,该行不会编译:

testWrapper.style.borderColor <- "#E95D0F"

显然,样式属性在HTMLElement上不再存在。是什么代替它?

编辑:

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

1 个答案:

答案 0 :(得分:1)

随着Fable.Core v3的发布,阿方索开始对Fable.Import.Browser之类的一些“历史性”软件包进行返工。

  

您可能没有注意到,但是许多寓言库都依赖于怪异的Fable.Import.Browser软件包,这是一个包含超过12000行的文件,大多数IDE都无法打开它。该文件是使用Typescript定义中的ts2fable在其原始位置自动生成的。但是,它也包含手动调整,并且其大小使得更新非常困难。

Fable blog的行情

因此Fable.Import.Browser已分为几个软件包:

  • Fable.Browser.Blob
  • Fable.Browser.Dom
  • Fable.Browser.Event
  • 寓言。浏览器性能
  • Fable.Browser.Url
  • Fable.Browser.WebSocket
  • Fable.Browser.WebStorage
  • Fable.Browser.XMLHttpRequest

但是,它仍然缺少Fable.Browser.SvgFable.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"