【问题标题】:scalatags TypedTag from HTMLElementscalatags 来自 HTMLElement 的 TypedTag
【发布时间】:2017-02-02 19:46:48
【问题描述】:

是否可以在scalatags 中从HTMLElement 创建TypedTag

TypedTag 构建HTMLElement 很简单:

import scalatags.JsDom.all._

val typedTag: TypedTag[Div] = div("abc")
val d: Div = typedTag.render
//somwhere `type Div = raw.HTMLDivElement`

是否可以创建相反方向的转换? 给定Div 的实例,我想要TypedTag[Div] 以便使用scalatags goodies 对其进行操作,然后将其渲染回HTMLElement。有意义吗?

【问题讨论】:

    标签: scala scala.js scalatags


    【解决方案1】:

    很遗憾,不——如果你仔细考虑的话,这实际上没有任何意义,至少不是这样。问题是,TypedTag 不是 HTML 元素,它是 构建 HTML 元素的东西。相比之下,HTMLElement 是一个实际元素。所以基本上,你是想从一个已经混合好的杯子里拿出一袋可可粉。

    我怀疑可以构建您所要求的内容,但它会有点复杂——您必须构建一个接受 HTMLElement 并映射回参数化的 TypedTag 的东西该元素类型,然后使用TypedTag,渲染它并替换现有的HTMLElement in-page。可以做到,但我怀疑这比它的价值更多......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多