使用带有ScalaTags的`title`

时间:2015-03-18 15:59:04

标签: scala scalatags

标题标记在ScalaTags库中无法正常工作。

import scalatags.Text.all._

title("My Awesome Website")

我怎样才能让它发挥作用?

  

帮助文档/教程很方便地忽略了无处不在的标题标签。我希望开发者能够解决这个问题。

     

https://github.com/lihaoyi/scalatags

未按预期工作:

如果您查看如何使用linkscriptheadhtml等标记,则title标记的工作方式应相同。

出于某种原因,开发人员选择使用此标记ConcreteHtmlTag[Nothing]而不是之前的标记类型ConcreteHtmlTag[String]。同样奇怪的是,此标记位于Tags2包而不是Tags中, 毕竟是常用标记。

3 个答案:

答案 0 :(得分:8)

这个似乎有效:

scala> scalatags.Text.tags2.title("test")
res7: scalatags.Text.TypedTag[Nothing] = <title>test</title>

似乎title中的scalatags.Text.all是标记属性(scalatags.generic.Attr),而不是TypedTag。无论这是否错位(或应该是TypedTag[String]),我都不知道。也许它只是代码中的符号冲突。

明确的import scalatags.Text.tags2.title应该有所帮助。

答案 1 :(得分:1)

您可以使用备用导入,而不是导入all

import scalatags.Text.short._
import scalatags.Text.tags2._

html(
  head(
    title("Your Title Here")
  ),
  body(

  )
)

更多示例位于文档的Managing Imports部分。

答案 2 :(得分:0)

替代

import scalatags.Text.all.{title=>titleAttr,_}
import scalatags.Text.tags2.title

如果你使用 scalatra,你也会想要保护头部

import scalatags.Text.all.{head=>headTag, title=>titleAttr,_}
import scalatags.Text.tags2.title