点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经用Fiori Elements创建了一个List Report应用程序,当我尝试在控制器扩展中尝试使用mvc控制器代替sap.ui.controller时收到错误。 目前,我正在使用SAPUI5 1.60.27版本。
我定义了一个控制器扩展,当我使用sap.ui.controller时,它可以正常工作:
sap.ui.define([ " sap/ui/core/mvc/Controller" ],函数(控制器){ "使用严格"; var oController = { onInit:function(){ }, AdaptNavigationParameterExtension:function(oSelectionVariant,oObjectInfo){ } }; 返回sap.ui.controller(" com.sap.myapp.ext.controller.ListReportExtension",oController); });
当我尝试使用mvc控制器而不是" sap.ui.controller"时,我确实在类sap.ui.core.mvc.View的方法" connectToView"上收到错误消息。
//使用" sap/ui/core/mvc/Controller" 返回Controller.extend(" com.sap.myapp.ext.controller.ListReportExtension",oController); //返回sap.ui.controller(" com.sap.myapp.ext.controller.ListReportExtension",oController);
该错误似乎是由于在异步模式(如Promise)中调用方法" connectToView",以及在执行承诺时未定义的oController对象而发生的。 有人知道什么可能导致此问题吗?
(37.2 kB)
你好,马修斯,
您不能使用sap/ui/core/mvc/Controller.extend为Fiori元素组件(如ListReport,ObjectPage)创建控制器扩展对象。 不建议使用sap.ui.controller方法,因为它可以同步工作。 SAP UI5核心团队提供了一种方法,可以创建简单对象作为扩展控制并返回。 以下代码显示了实现
此方法可以利用异步初始化,并且可以与Fiori元素一起顺利使用。 但不幸的是,UI5版本1.61中引入了对此功能的支持。 一旦开始使用SAP UI5 1.61或更高版本,就可以使用上述方法,并且该方法应该可以顺利进行。
希望获得帮助。
此致
Vinod
嗨Vinod,
感谢您的信息。
在这种方法中,如何将BaseController与控制器一起使用? 使用sap.base.util.extend还是jQuery.extend?
关于
Matheus
一周热门 更多>