Search code examples
mvvmzkzul

How to iterativly print label in zk using templates with mvvm style


<window apply="org.zkoss.bind.BindComposer"
    viewModel="@id('vm') @init('com.test.labelTest')">

    <template <!--model = "@bind(vm.allLabelSets)" some thing like this --> >
        <label value="@load(each.label1)" />
        <label value="@load(each.label2)" />
        <label value="@load(each.label3)" />
    </template>

</window>

how can we use template to iterate over a list without using any of gridModel,treeModel ?


Solution

  • Try this below code

    <vlayout id="vlayout" children="@bind(vm.allLabelSets) @template('record')">
        <template name="record" var="record">
            <vlayout style="padding-left:10px; border:2px solid green;" >
             <label value="@load(each.label1)" />
             <label value="@load(each.label2)" />
             <label value="@load(each.label3)" />
    
            </vlayout>
        </template>
    </vlayout>
    

    You have to use children attribute