【发布时间】:2019-09-14 15:37:38
【问题描述】:
我想在我的 Github 页面中使用 Binding.scala。
我遇到的问题是我bind 的值没有更新。
这里是例子:
val radiusVar = Var(3.0)
@dom
private lazy val plotly: Binding[HTMLElement] = {
val radiusVal = radiusVar.bind
println(s"new radius: $radiusVal") // this part is not executed after updating the radiusVar
<div class="ui form">
<div class="field">
<label>Radius</label>
<input type="text" name="radius" id="radius" value={
radiusVal.toString
}/>
</div>
<button class="ui button"
onclick={
_: Event =>
println("radius.value: " + radius.value) // this works
radiusVar.value = radius.value.toInt
}>Submit</button>
</div>
}
每当更改半径时,我都希望println(s"new radius: $radiusVal")被执行。
它在杨博的 ScalaFiddle 中工作:https://scalafiddle.io/sf/PET64Sz/1
渲染页面:Github Pages
整个项目:Github
【问题讨论】:
-
@YangBo 就是这样 - 它在这里不起作用:pme123.github.io/github-pages-demo/programming/2019/04/22/… - 但有什么区别?
-
@pme 我从here 复制了你的代码。然后将所有 println 交换到 console.log。这很好用。 scalafiddle.io/sf/PET64Sz/4
-
@pme 这是另一个将该值添加到 Radius 标签的版本。您可以在页面上看到它的变化。 scalafiddle.io/sf/PET64Sz/5
-
@Ixohi 我知道 - 它可以在 ScalaFiddle 中工作(正如杨波所指出的) - 问题是它确实可以与 Jekyll 结合使用 - 请参见此处:pme123.github.io/github-pages-demo/programming/2019/04/22/…
标签: scala jekyll github-pages scala.js binding.scala