1
DOMにロードされたchartjs
のようなグラフライブラリでキャンバスを初期化するにはどうすればよいですか?Binding.scalaでDOMにロードされた要素の後に実行する方法
DOMにロードされたchartjs
のようなグラフライブラリでキャンバスを初期化するにはどうすればよいですか?Binding.scalaでDOMにロードされた要素の後に実行する方法
@dom
def chart(show: Var[Boolean]) = {
if(show.bind) {
val myCanvas = <canvas id="chartCanvas"><canvas>
yourInitializationCode(myCanvas)
myCanvas
} else {
<!-- don't show canvas -->
}
}
カスタムSingleMountPointを作成し、オーバーライドmount
方法で初期化コードを置くことができます。
val yourCustomMountPoint = new SingleMountPoint[Boolean](show) {
override def mount() = {
super.mount()
// You custom initialization code
}
override def unmount() = {
// You custom clean up code
super.unmount()
}
override def set(newValue: Boolean) = {
// You custom handler when `show` get changed
}
}
// Inject your custom mount point into the rendering process
yourCustomMountPoint.bind
ありがとうございます。それが私の欠けている部分を追加しました。 – jens
あなたは持っていることbinding.scalaを使用する他の人のコードをd3.js https:// githuと見てくださいb.com/emanresusername/word-cloud-generator/blob/master/ui/src/main/scala/my/will/be/done/wordcloud/component/WordcloudComponent.scala –
@YangBo私はコード解決とは思わない私の問題。例を見て、 'show'が変更された場合はグラフを再描画する必要があります。ですから、binding.scalaのイベントリスナーを使ってクラウドをクラウド化すると思います。 – jilen
それらの再描画コードを 'if'ブロックに入れてみてください。 –