binding.scala组件到字符串的转换

时间:2018-11-02 13:04:19

标签: scala.js binding.scala

我有一个binding.scala组件和一个以html字符串为输入的第三方scalajs库。如何将b.s组件作为参数传递给库方法?

具体:

import com.thoughtworks.binding.Binding._
import com.thoughtworks.binding.{Binding, dom}

@dom def renderComponent: Binding[Element] = <h1> I am a component </h1>

def thirdPartyFunction(str: String) = {
  ...
}

我想调用thirdPartyFunction(renderComponent.bind.outerHtml.toString)之类的函数。 但是,该调用永远不会执行。

我认为这与到目前为止对B.S的一些基本了解有关。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

答案是将.bind调用换成watch。例如,在window.onload函数中,类似于以下内容:

   window.onload = _ => Binding{
       thirdPartyFunction(renderComponent.bind.outerHtml.toString)
   }.watch() 

请注意,可以初始化不带window.onload之类功能的组件。看到这个问题How to execute some init after element loaded to dom with Binding.scala