在 ZK MVVM 中使用核心方法加载 foreach
Loading foreach using core methods in ZK MVVM
我想从我的虚拟机中读取一些值。这是我到目前为止所做的示例
<div forEach="${vm.activityData.activityList}">
<label
value="@load(c:cat3('vm.activitiData.', each, '.organizer' ))" />
</div>
但似乎无法读取 cat3
中的 each
。我的 objective 是为每个 activity 获取组织者。知道如何实现吗?
更新
例如,我想从这段代码中简化:
<div>
<label value="@load(vm.activityData.A.name)" />
<label value="@load(vm.activityData.ASponsor)" />
<label value="@load(vm.activityData.AOrganizer)" />
<separator/>
<label value="@load(vm.activityData.B.name)" />
<label value="@load(vm.activityData.BSponsor)" />
<label value="@load(vm.activityData.BOrganizer)" />
<separator/>
</div>
进入
<div forEach="${vm.activityData.activityList}">
<label value="@load(c:cat3('vm.activityData.', each, '.name'))" />
<label value="@load(c:cat3('vm.activityData.', each, 'Sponsor'))" />
<label value="@load(c:cat3('vm.activityData.', each, 'Organizer'))" />
<separator/>
</div>
基本上我想做的是将部分字符串动态组合成一个字符串。然后使用 @load(string)
。
今天有时间测试一下,给大家准备了一个fiddle
你的 ZK 版本不错,但我忘了再补充一件事。
你必须使用 custom-attributes
否则它不会工作。
解决方案:
<div forEach="${vm.activityData.activityList}">
<custom-attributes field="${each}"/>
<label value="@load(vm.activityData[field].name)" />
<label value="@load(vm.activityData[c:cat(field, 'Sponsor')]" />
<label value="@load(vm.activityData[c:cat(field, 'Organizer')]" />
<separator/>
</div>
我快速创建了一个working fiddle where you can test or look how it works。
我想从我的虚拟机中读取一些值。这是我到目前为止所做的示例
<div forEach="${vm.activityData.activityList}">
<label
value="@load(c:cat3('vm.activitiData.', each, '.organizer' ))" />
</div>
但似乎无法读取 cat3
中的 each
。我的 objective 是为每个 activity 获取组织者。知道如何实现吗?
更新
例如,我想从这段代码中简化:
<div>
<label value="@load(vm.activityData.A.name)" />
<label value="@load(vm.activityData.ASponsor)" />
<label value="@load(vm.activityData.AOrganizer)" />
<separator/>
<label value="@load(vm.activityData.B.name)" />
<label value="@load(vm.activityData.BSponsor)" />
<label value="@load(vm.activityData.BOrganizer)" />
<separator/>
</div>
进入
<div forEach="${vm.activityData.activityList}">
<label value="@load(c:cat3('vm.activityData.', each, '.name'))" />
<label value="@load(c:cat3('vm.activityData.', each, 'Sponsor'))" />
<label value="@load(c:cat3('vm.activityData.', each, 'Organizer'))" />
<separator/>
</div>
基本上我想做的是将部分字符串动态组合成一个字符串。然后使用 @load(string)
。
今天有时间测试一下,给大家准备了一个fiddle
你的 ZK 版本不错,但我忘了再补充一件事。
你必须使用 custom-attributes
否则它不会工作。
解决方案:
<div forEach="${vm.activityData.activityList}">
<custom-attributes field="${each}"/>
<label value="@load(vm.activityData[field].name)" />
<label value="@load(vm.activityData[c:cat(field, 'Sponsor')]" />
<label value="@load(vm.activityData[c:cat(field, 'Organizer')]" />
<separator/>
</div>
我快速创建了一个working fiddle where you can test or look how it works。