我正在使用ZK.6.5.2和ZK Bind来实现MVVM模式。 在我的ZK页面中,我有
<h:label>Name:</h:label>
<label value="@load(vm.person.Name)" />
<h:br />
只有当vm.person.Name不为空时我才需要显示上面的3行,但是因为在运行时填充了@load值,所以在编写时进行评估,为了实现上述目的,我有
<h:label visible="@load(not empty vm.person.Name)"/>
但我必须在每个组件上加入相同的条件。是否有更清洁的方法来实现同样的目标?
任何帮助将不胜感激。 谢谢。 约翰
答案 0 :(得分:1)
你可以试试这个:
<zk if="@load(not empty vm.person.Name)">
<h:label>Name:</h:label>
<label value="@load(vm.person.Name)" />
<h:br />
</zk>
或者如果您使用上面代码中的“vm.visible”
<zk if="@load(vm.visible)">
<h:label>Name:</h:label>
<label value="@load(vm.person.Name)" />
<h:br />
</zk>
答案 1 :(得分:0)
您可以像这样向ViewModel添加属性:
@DependsOn("person")
public boolean isVisible() {
return true; // your condition here
}
然后使用
<h:label visible="@load(vm.visible)"/>