首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Binding.scala声明嵌入式css

如何用Binding.scala声明嵌入式css
EN

Stack Overflow用户
提问于 2017-03-20 16:51:48
回答 2查看 352关注 0票数 3

我尝试用Binding.scala声明一些嵌入的css。

代码语言:javascript
复制
import com.thoughtworks.binding._, Binding._
import org.scalajs.dom._

@dom def css = <style>
  body {
    background-color: lightblue;
  }
</style>

dom.render(document.head, css)

但是,我收到了错误消息:

代码语言:javascript
复制
ScalaFiddle.scala:6: error: not found: type lightblue
      background-color: lightblue;
                        ^
ScalaFiddle.scala:6: error: not found: value background
      background-color: lightblue;
      ^
ScalaFiddle.scala:6: error: not found: value color
      background-color: lightblue;
                 ^

我怎么才能修好它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-20 16:51:48

您可以看到错误消息,因为{是Scala的XML文字中的一个特殊字符。

CDATA元素中使用style部分。

代码语言:javascript
复制
@dom def css = <style>
  <![CDATA[
    body {
      background-color: lightblue;
    }
  ]]>
</style>

{CDATA部分不再具有特殊意义。

注意,这种CDATA方法仅在coalescing标志打开时才能工作。如果意外地关闭了标志,请参见https://github.com/ThoughtWorksInc/Binding.scala/issues/30https://github.com/ThoughtWorksInc/Binding.scala/issues/58

票数 4
EN

Stack Overflow用户

发布于 2018-03-28 05:39:25

杨波的回答是:

代码语言:javascript
复制
@dom def css = <style>
  <![CDATA[
    body {
      background-color: lightblue;
    }
  ]]>
</style>

给了我一个例外:

代码语言:javascript
复制
ScalaFiddle.scala:22: error: overloaded method value domBindingSeq with alternatives:
  ( text: String)binding.this.Binding.Constants[raw.this.Text] 
...

请参阅https://scalafiddle.io/sf/ATMVpjV/0

这解决了这个问题:

代码语言:javascript
复制
  @dom def css = <style>
  {"""
    body {
      background-color: lightblue;
    }
    """
  }
</style>

请参阅https://scalafiddle.io/sf/ATMVpjV/1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42909432

复制
相关文章

相似问题

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