Компонент binding.scala для преобразования строк - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть компонент binding.scala и сторонняя библиотека scalajs, которая принимает html-строку в качестве входных данных. Как можно передать компонент 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). Однако этот вызов никогда не выполняется.

Я думаю, что это связано с некоторым базовым пониманием Б.С. до сих пор, с которым я не сталкивался. Есть предложения?

1 Ответ

0 голосов
/ 04 декабря 2018

Ответ заключается в том, чтобы обернуть .bind вызов watch. Например, в функции window.onload что-то похожее на следующее:

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

Обратите внимание, что можно инициализировать компоненты без таких функций, как window.onload. Смотрите этот вопрос Как выполнить инициализацию после загрузки элемента в dom с помощью Binding.scala

...