我得到了以下dom-binding:
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只被调用一次(我已经用调试输出对它进行了双重检查),但元素会被渲染两次,因此我得到的错误信息是HTMLElements不能两次插入DOM。
最好的方法是找出为什么绑定重新计算两次?我不知道如何调试这个......对我而言,它只取决于一个Var
而且只会改变一次......
答案 0 :(得分:1)
打印堆栈跟踪可能有助于跟踪源,例如,您可以在.bind
语句下放置以下代码
new RuntimeException("...").getStackTrace.take(10).map(println)
此外,println
语句之后的好.bind
(特别是如果您有多个语句)有助于了解正在发生的事情。