0

我将 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)"/>

但是我必须对每个组件都设置相同的条件。有没有更清洁的方法来实现同样的目标?

任何帮助都感激不尽。谢谢。约翰

4

2 回答 2

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>
于 2013-07-23T07:53:03.647 回答
0

您可以像这样向 ViewModel 添加属性:

@DependsOn("person")
public boolean isVisible() {
  return true;  // your condition here  
}

然后使用

<h:label visible="@load(vm.visible)"/>
于 2013-07-15T12:48:25.813 回答