当前位置: 首页 > Web前端 > HTML

SAPUI5ManagedObjectsAssociationofSAPUI5ManagedObjects解释

时间:2023-03-28 13:43:21 HTML

Managedassociations也形成了SAPUI5objects之间的关系,但是它们没有定义关联对象的生命周期。也就是说,通过关联关系关联起来的两个SAPUI5对象是松耦合的,它们的生命周期是相互独立的。它们甚至可以在另一个关联对象被销毁后独立存在。这是关联和聚合的本质区别。出于同样的原因,关联的内部存储不是直接的对象引用,而只是它所关联的对象的ID。关联具有名称(例如initialFocus)、基数(“0..1”或“0..n”)并且具有特定类型(也必须是ManagedObject的子类或UI5接口)。ManagedObject将提供方法设置或获取基数0..1的特定关联(例如setInitialFocus、getInitialFocus)的关联对象。对于基数为0..n的关联,有一些方法可以获取所有关联对象(getRefItems)、添加、插入或删除单个关联对象(addRefItem、insertRefItem、removeRefItem)或从关联中删除所有对象(removeAllRefItems)。相关声明的详细信息、描述它的元数据以及自动生成的访问它的方法集,可以在扩展方法的文档中找到。关联不能绑定到模型。克隆ManagedObject时,关联的结果取决于关联的目标对象与克隆操作的根之间的关系。如果关联对象是要克隆的对象树的一部分(可通过克隆操作的根部的聚合访问),则克隆关联将引用关联对象的克隆。否则,关联将引用与原始树中相同的对象。当一个ManagedObject被销毁时,只有其他关联的对象不受销毁操作的影响。让我们在ChromeDevTools控制台面板中做一些练习。使用以下代码获取对页面控件实例的引用:varpage=sap.ui.getCore().byId("__page0");其中__page0id是从Chrome开发者工具UI5面板获得的。然后使用page.getAssociation获取指定名称的关联数据: