I have a binding.scala component and a third party scalajs library that takes html string as input. How can the b.s component can be passed to the library method as an argument?
Specifics:
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) = {
...
}
I would like to call the function like thirdPartyFunction(renderComponent.bind.outerHtml.toString).
However that call never gets executed.
I think this is related to some basic understanding with B.S up until now I have not faced with. Any suggestions?
The answer is to wrap the
.bindcall withwatch. For instance, in thewindow.onloadfunction, something similar to the following:Note that it is possible to initialize components without functions like
window.onload. See this question How to execute some init after element loaded to dom with Binding.scala