Давайте предположим, что простой Зул в гк 8 ...ZK 8 Свойства привязки MVVM объекта Child - Уведомление об изменении?
<div width="100%" height="100%" viewModel="@id('vm') @init('com.example.MyVM')">
<div visible="@load(vm.child.isElementVisible)"/>
<div visible="@load(not vm.child.isElementVisible)"/>
<button onClick="@command('doSomething')"/>
</div>
Теперь у меня есть простой COMAND в VM ...
@Command
@NotifyChanges({"child.elementVisible", "someotherproperty"})
public void doSomething() {
this.child.setElementVisible(!this.child.isElementVisible());
}
К сожалению, это не работает вообще , Видимость не меняется. Поскольку начальное значение видимости работает нормально, кажется, что только уведомление об изменении не работает.
Но если добавить метод делегата к самой виртуальной машине ...
public boolean isElementVisible() {
return this.child.isElementVisible();
}
... и использовать это в моей Зуле ...
<div visible="@load(vm.isElementVisible)"/>
<div visible="@load(not vm.isElementVisible)"/>
... это прекрасно работает хорошо. У кого-нибудь есть идея, почему уведомление здесь не удается?