点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用WEB IDE开发自定义SAPUI5应用程序,并且我已经创建了一个自定义视图,该视图需要根据从上一个视图接收到的参数绑定数据,但是页面加载事件未触发,请检查我的视图 代码和建议,
Manifest.json
"路由":{ " config":{ " routerClass":" sap.m.routing.Router", " viewType":" XML", " viewPath":" oomsdisplay.pso.com.view", " controlId":" app", " controlAggregation":"页面", "绕过":{ "目标":[ "未找到" ] }, "异步":true }, "路线":[ { " pattern":"", " name":"工作清单", "目标":[ "工作清单" ] }, { " pattern":" ZISOHSet/{objectId}", " name":"对象", "目标":[ "目的" ] }, { " pattern":" ZISOHSet/{objectId}", " name":" payobject", "目标":[ "付款对象" ] } ], "目标":{ "工作清单":{ " viewName":"工作清单", " viewId":"工作清单", " viewLevel":1 }, "对象":{ " viewName":"对象", " viewId":"对象", " viewLevel":2 }, " objectNotFound":{ " viewName":" ObjectNotFound", " viewId":" objectNotFound" }, "未找到": { " viewName":"未找到", " viewId":" notFound" }, " payobject":{ " viewName":" PayObject", " viewId":" payobject", " viewLevel":2 } } }
这是我的C0mponent.js,
init:函数(){ //调用基本组件的init函数 UIComponent.prototype.init.apply(this,arguments); //使用组件初始化错误处理程序 this._oErrorHandler =新的ErrorHandler(this); //设置设备型号 this.setModel(models.createDeviceModel()," device"); //设置FLP模型 this.setModel(models.createFLPModel()," FLP"); //根据url/hash创建视图 this.getRouter()。initialize(); },
现在,我已经创建了一个自定义视图,当我按下视图对象上的按钮时,我的第二个视图即PayObject将被调用,这是我按下视图一的按钮上的代码,
fViewPayment:函数(oEvent){ this.getRouter()。navTo(" payobject",{ objectId:" MyParameterhere" }); }
现在,这是我的PayObejct视图,初始化事件,对象已匹配,但不起作用,
onInit:function(){ var iOriginalBusyDelay, oViewModel = new JSONModel({ 忙:是的, 延迟:0 }); //存储原始的忙碌指示器延迟,以便以后可以恢复 iOriginalBusyDelay = this.getView()。getBusyIndicatorDelay(); this.setModel(oViewModel," objectView"); this.getOwnerComponent()。getModel()。metadataLoaded()。then(function(){ //恢复对象视图的原始繁忙指示器延迟 oViewModel.setProperty("/img/delay",iOriginalBusyDelay); }); var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.getRoute(" payobject")。attachPatternMatched(this._onObjectMatched,this); } //此事件未触发 _onObjectMatched:function(oEvent){ var sObjectId = oEvent.getParameter(" arguments")。objectId; sap.m.MessageBox.show(sObjectId); //我的逻辑在这里 }
谢谢
Hamdan,
请问您为什么在这里使用this.getRouter():
在这里,您再次在onInit上设置oRouter:
您是否在这种情况下使用BaseController.js?
亲切的问候,
T。
一周热门 更多>