本帖最后由 施程浩 于 2018-6-8 15:08 编辑
通过循环可以重复一个HTML块。我们可以用它将任务跟进者的图像添加到任务看板卡中。 渲染任务的合作伙伴ID: <t t-foreach="record.message_partner_ids.raw_value" t-as="rec"> <t t-esc="rec" />; </t>
t-foreach指令接受一个JavaScript表达式,计算一个重复的集合。多数情况下,这将只是一个多对关系字段的名称。它是用一个t-as指令来设定在循环中用到的每项的名字. 下一条使用的t-esc指令根据所所提供的表达式进行计算,本例中只是rec变量,并将在HTML转码时加以渲染。
使用JavaScript函数slice()来限定显示的跟进者的数量,如下所示: t-foreach="record.message_partner_ids.raw_value.slice(0, 3)"
重写跟随者的循环如下: <t t-foreach="record.message_partner_ids.raw_value.slice(0, 3)" t-as="rec"> <img t-att-src="kanban_image('res.partner', 'image_small', rec)" class="oe_avatar" width="24" height="24" /></t> 在右页脚添加下一位负责用户的图像。
一些辅助变量也可用,变量名被冠以t-as变量所定义的前缀。本例中,我们使用rec,所以可用的辅助变量如下: rec_index是0开始的循环索引 rec_size 集合的元素数量 rec_first 循环的第一个元素为真 rec_even 偶数索引为真 rec_odd奇数索引为真 rec_parity奇数或偶数,根据当前代表被遍历对象rec_all的索引 rec_value当遍历一个字典时,{键:值},保存值(rec保存键值) 例如,我们可以使用以下来避免在我们的ID列表中的逗号: <t t-foreach="record.message_parter_ids.raw_value.slice(0, 3)" t-as="rec"> <t t-esc="rec" /> <t t-if="!rec_last">;</t> </t>
|