首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scalatags JsDom与文本

scalatags JsDom与文本
EN

Stack Overflow用户
提问于 2016-09-25 16:08:12
回答 1查看 415关注 0票数 1

scalatags.Text.all._scalatags.JsDom.all._包的区别和用途是什么?

official scalatags tutorial中,您可以阅读:

代码语言:javascript
复制
// import scalatags.Text.all._
// OR
// import scalatags.JsDom.all._
html(
  head(
    script(src:="..."),
    script(
      "alert('Hello World')"
    )
  ),
  body(
    div(
      h1(id:="title", "This is a title"),
      p("This is a big paragraph of text")
    )
  )
)
And turns them into HTML like this:

<html>
    <head>
        <script src="..."></script>
        <script>alert('Hello World')</script>
    </head>
    <body>
        <div>
            <h1 id="title">This is a title</h1>
            <p>This is a big paragraph of text</p>
        </div>
    </body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2016-09-25 16:55:29

DOMBackendInternals部分的scalatags文档中描述了不同之处。

在使用scalatags.Text包时,结构直接呈现为String,但在使用scalatags.JsDOM包时,结构呈现为org.scalajs.dom.raw.Element的子类型(它在scalatags之外-它是scalajs库的一部分)。在处理Element时,可以进一步使用manipulate dom structure very low level of abstraction

在这里,当使用scalatags.Text.时,h1会呈现为String

代码语言:javascript
复制
    import scalatags.Text.all._
    val x: String = h1("some header").render
    //x is a String

但在这里,当使用scalatags.JsDom时,h1会呈现为org.scalajs.dom.raw.HTMLHeadingElement

代码语言:javascript
复制
    import scalatags.JsDom.all._

    val x: Heading = h1("some header").render
    //x is type of Heading, which is defined as:
    //type Heading = raw.HTMLHeadingElement
    //raw.HTMLHeadingElement is org.scalajs.dom.raw.HTMLHeadingElement
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39684711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档