在UI5 documentation中,有一个详尽的解释,说明了聚合绑定中的属性templateShareable
的工作方式和作用。甚至还有何时使用哪个值的规则。 templateSharable=true
的规则为:
仅在以下情况下使用此选项:
模板可在您的应用中重复使用,以定义其他列表绑定。 [...]
将克隆包含与模板绑定的列表的父控件。绑定信息也用于克隆中。 [...]
我理解这些声明,但是很难想象这是什么样子。谁能指出我满足以下条件之一的好例子吗?
答案 0 :(得分:2)
尽管如此,文档中还是有一个有用的示例。
<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
。