我有一个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的一些基本了解有关。有什么建议吗?
答案 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