我想从实用程序函数(例如,格式化程序或类函数)中使用this.getOwnerComponent()访问我的SAPUI5应用程序组件,这可从控制器使用,但在放置在另一个文件夹中的实用程序或格式化程序功能中却无法使用。我不想使用sap.ui.getCore(),还有其他方法吗?
答案 0 :(得分:0)
您可以将控制器实例传递给构造函数中的实用程序类,然后访问其所有者组件。您也可以尝试直接注入组件。不幸的是,我不确定这些方法是否是UI5开发的首选方法。
尽管这会将实用程序功能耦合到组件逻辑,但我认为这不是一个好主意,您可能应该只传递实用程序功能完成其工作所需的内容。
答案 1 :(得分:0)
我最终有以下两种选择: 1.将实用程序functiona创建为单例类,并使用setComponent方法将组件传递一次。 2.使用事件总线触发事件,并由组件完成只能在组件内完成的事情,例如访问oData资源