在UI5 documentation中,有一个详尽的解释,它说明了聚合绑定中的属性templateShareable
的工作原理和作用。甚至还有何时使用哪个值的规则。 templateSharable=true
的规则说:
仅在以下情况下使用此选项:
模板已在您的应用中重用,以定义其他列表绑定。 [...]
克隆包含与模板绑定的列表的父控件。绑定信息也用于克隆中。 [...]
我理解这些陈述,但是很难想象这是什么样子。谁能指出我满足以下条件之一的好[[example?
<Table id="EmployeeEquipments" headerText="Employee Equipments" items="{
path: 'EMPLOYEE_2_EQUIPMENTS',
templateShareable: false
}">
<columns>
<!-- ... -->
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{ID}"/>
</cells>
<cells>
<Text text="{EQUIPMENT_2_PRODUCT/Name}"/>
</cells>
<cells>
<Text text="{Category}"/>
</cells>
<cells>
<!-- Name="PRODUCT_2_CATEGORY" Type="Collection(...)" -->
<List items="{
path: 'EQUIPMENT_2_PRODUCT/PRODUCT_2_CATEGORY',
templateShareable: true
}">
<StandardListItem title="{CategoryName}"/>
</List>
</cells>
<cells>
<Text text="{EQUIPMENT_2_PRODUCT/PRODUCT_2_SUPPLIER/Supplier_Name}"/>
</cells>
</ColumnListItem>
</items>
</Table>
我在表格内看到一个列表。由于该表定义了一个表(templateShareable: false
),因此仅使用一次。每个表格行中都有一个包含列表的单元格,因此该列表会创建多次-每条表格行一次-因此,每行或每当将行添加到表格时,列表的定义都是cloned因此需要:
templateShareable: true
。