Setter 在 onChange 方法之后调用

问题描述 投票:0回答:1
java spring zk
1个回答
0
投票

调试 MVVM 绑定时,一个不错的选择是在 zk.xml 中启用内置 MVVM 调试器:

<library-property>
    <name>org.zkoss.bind.DebuggerFactory.enable</name>
    <value>true</value>
</library-property>

这会输出大量日志,因此请确保仅在开发环境中激活它,而不是生产环境中。

关于 BindComposer 如何工作的细节: 如果绑定编辑器检测到日期框的值发生更改,它将尝试完成 @bind(form.date) 表达式的保存部分(@bind == @save + @load)。 这是由主机日期框触发 onChange 触发的。也就是说,您还有一个不同的事件侦听器也在侦听 datebox onChange,因此不能保证哪个事件侦听器将首先被调用。

为此,它应该尝试调用 form.setDate(...)

这里的额外问题是我不熟悉 ZK 上下文中项目(@screen、@form)中使用的注释。

此外,onChange$date 语法看起来更像 GenericForwardComposer 而不是 MVVM 绑定?所以我不太清楚实际使用的结构。

是否可以在 zkfiddle 中构建一个复制案例并发送该链接?

© www.soinside.com 2019 - 2024. All rights reserved.