需要一个好例子:什么时候templateShareable = true有用?

时间:2020-01-29 15:08:39

标签: javascript data-binding web-applications sapui5

UI5 documentation中,有一个详尽的解释,说明了聚合绑定中的属性templateShareable的工作方式和作用。甚至还有何时使用哪个值的规则。 templateSharable=true的规则为:

仅在以下情况下使用此选项:

  • 模板可在您的应用中重复使用,以定义其他列表绑定。 [...]

  • 将克隆包含与模板绑定的列表的父控件。绑定信息也用于克隆中。 [...]

我理解这些声明,但是很难想象这是什么样子。谁能指出我满足以下条件之一的好例子吗?

1 个答案:

答案 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

相关问题