我得到了以下 dom 绑定:
object Modals {
val modals = Var[Modal](null)
def show(modal: Modal) = modals.value = modal
def hide(modal: Modal) = modals.value = null
@dom
def apply() = {
if (modals.bind != null) {
<!-- Some static HTMLElements -->
... This is called twice ...
}
}
}
虽然 show-Method 只调用了一次(我已经用调试输出仔细检查了它(,但元素被渲染了两次,所以我收到错误消息,即 HTML 无法两次插入 DOM 中。
找出为什么绑定要重新计算两次的最佳方法是什么?我不知道如何调试这个...对我来说,它只取决于一种Var
而这只改变了一次......
打印堆栈跟踪可能有助于跟踪源,例如,您可以将以下代码段放在.bind
语句下
new RuntimeException("...").getStackTrace.take(10).map(println)
此外,.bind
语句之后的旧println
(特别是如果您有多个语句(有助于理解正在发生的事情。