我有一个< template>在我的ZUL文件中标记,并且我想在某些条件符合时使用此模板(例如,当某些LABEL的值更改为某些文本时)。
请看下面的代码......正如您所看到的,“templateStatus”是我的标签名称,但它不起作用。
如何解决此问题?
<template name="allTaskTemplate" var="allTask" if="templateStatus.value == 'allTask'">
<row>
<label value="" />
<label value="@load(allTask.documentDTO.docTypeDTO.title)"/>
<label value="@load(allTask.documentDTO.docNumber)"/>
<label value="@load(allTask.documentDTO.docDateTime)"/>
<label value="@load(allTask.assignerID)"/>
<label value="@load(allTask.assigneeID)"/>
<label value="@load(allTask.assignDateTime)"/>
<label value="@load(allTask.assignDateTime)"/>
<label value="@load(allTask.assignDateTime)"/>
<label value="@load(allTask.assignDateTime)"/>
<label value="@load(allTask.documentDTO.docTypeStateDTO.stateActionDTO.actionDTO.title)"/>
<label value="@load(allTask.catalogDTO.catalogTypeDTO.title)"/>
</row>
</template>
</grid>
答案 0 :(得分:4)
使用if
声明:
<zk if="${vm.type=='foo'}">
<!-- Child components -->
</zk>
<zk if="${vm.type=='check'}">
<!-- Child components -->
</zk>
<zk if="${vm.type=='something'}">
<!-- Child components -->
</zk>
<zk if="${vm.type=='value'}">
<!-- Child components -->
</zk>
答案 1 :(得分:1)
请参阅以下ZK示例。您可以使用条件模板...
<grid model="@bind(vm.itemList) @template(vm.type eq 'foo'?'template1':'template2')">
<template name="template1">
<!-- child components -->
</template>
<template name="template2">
<!-- child components -->
</template>
</grid>
有关详细信息,请参阅ZK的官方页面, Collection and Selection 。
请输入以下代码...
<menubar id="mbar" children="@bind(vm.menuList) @template(empty each.children?'menuitem':'menu')">
<template name="menu" var="menu">
<menu label="@bind(menu.name)">
<menupopup children="@bind(menu.children) @template(empty each.children?'menuitem':'menu')"/>
</menu>
</template>
<template name="menuitem" var="item">
<menuitem label="@bind(item.name)" onClick="@command('menuClicked',node=item)" />
</template>
</menubar>
见上文。使用两个以上的模板,你可以做这样的事情。我不知道您的要求,但您可以使用上述逻辑并在您的代码中实现它。
或者你可以看到同样的ZK论坛,Zk forum。